728x90

๐Ÿ“ Coding Test Study/Algorithm Problem 69

[C++][Programmers][์™„์ „ํƒ์ƒ‰] ์ตœ์†Œ์ง์‚ฌ๊ฐํ˜•

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/86491 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ•ด๊ฒฐ๋ฒ•] ์œ„์˜ ์˜ˆ์‹œ์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ง€๊ฐ‘์˜ ํฌ๊ธฐ๋Š” 80*70=5600 ๊ฐ™์ง€๋งŒ 2๋ฒˆ ๋ช…ํ•จ์„ ๋ˆ•ํžˆ๋ฉด ๊ฐ€๋กœ70, ์„ธ๋กœ30์ธ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋˜๋ฏ€๋กœ ๊ฐ€์žฅ ์ž‘์€ ์ง€๊ฐ‘์˜ ํฌ๊ธฐ๋Š” 80 * 50์ด๋‹ค. ์ฆ‰, ํ•œ์ชฝ์„ ํฐ ๊ฐ’์„ ๋‘๊ณ  ๋‹ค๋ฅธ ํ•œ์ชฝ์„ ์ž‘์€ ๊ฐ’์œผ๋กœ ์…‹ํŒ…ํ•œ ํ›„, ๊ฐ€๋กœ ์ค‘์— ๊ฐ€์žฅ ํฐ ๊ฐ’๊ณผ ์„ธ๋กœ ์ค‘์— ๊ฐ€์žฅ ํฐ๊ฐ’์„ ๋ฝ‘์•„์•ผ ํ•จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 1) 2์ฐจ์› ๋ฒกํ„ฐ์˜ frist๊ฐ’(๊ฐ€๋กœ) > second(์„ธ๋กœ)๊ฐ’์ธ ์ƒํƒœ์—..

[C++][Programmers][์ •๋ ฌ] H-Index

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/42747 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ•ด๊ฒฐ๋ฒ•] [3, 0, 6, 1, 5] ๊ฐ€ ์žˆ์„ ๋•Œ h๋ฒˆ ์ด์ƒ ์ธ์šฉ๋œ ๋…ผ๋ฌธ ํšŸ์ˆ˜๊ฐ€ h๊ฐœ ์ด์ƒ์ด๊ณ  ๋‚˜๋จธ์ง€๊ฐ€ h๋ฒˆ ์ดํ•˜๋กœ ์ธ์šฉ๋˜๋ฉด ๋œ๋‹ค. ์ฆ‰, h = 1์ผ ๋•Œ -> 1๋ฒˆ ์ด์ƒ ์ธ์šฉ๋œ ๋…ผ๋ฌธ์ด 1๊ฐœ ์ด์ƒ์ด์–ด์•ผ ํ•จ. ๋‚˜๋จธ์ง€๊ฐ€ 1์ดํ•˜๋กœ ์ธ์šฉ๋˜์–ด์•ผ ํ•จ. h = 2์ผ ๋•Œ -> 2๋ฒˆ ์ด์ƒ ์ธ์šฉ๋œ ๋…ผ๋ฌธ์ด 2๊ฐœ ์ด์ƒ์ด์–ด์•ผ ํ•จ. ๋‚˜๋จธ์ง€๊ฐ€ 2์ดํ•˜๋กœ ์ธ์šฉ๋˜์–ด์•ผ ํ•จ. h = 3 ์ผ ๋•Œ -> 3๋ฒˆ ์ด์ƒ ์ธ์šฉ๋œ ๋…ผ๋ฌธ์ด..

[C++][Programmers][์ •๋ ฌ] ๊ฐ€์žฅ ํฐ ์ˆ˜

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต ๊ณ ๋“์  Kit ์ •๋ ฌ ํŒŒํŠธ 2๋ฒˆ - ๊ฐ€์žฅ ํฐ ์ˆ˜ [๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/42746 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ•ด๊ฒฐ๋ฒ•] ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ๋“  ์ƒ๊ฐ... "์กฐํ•ฉํ•จ์ˆ˜๋กœ ์ˆซ์ž์กฐํ•ฉ์€ ๋ฝ‘์„ ์ˆ˜ ์žˆ์„๊ฑฐ ๊ฐ™์€๋ฐ ์ˆซ์ž๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ฉ์น˜์ง€?" ์˜€๋Š”๋ฐ return ์ด string ์ธ๊ฑฐ ๋ณด๊ณ  ๊ฑ ๋ฌธ์ž์—ด๋กœ ํ•ฉ์น˜๋ฉด ๋˜๋Š”๊ตฌ๋‚˜~๋ฅผ ์•Œ์•˜๋‹ค. (์˜ค๋‹ต) 1) ์กฐํ•ฉ ๋Œ๋ฆฌ๊ฒŒ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด๋†“๊ธฐ 2) ์กฐํ•ฉ์œผ๋กœ ์ˆซ์ž์กฐํ•ฉ ๋ฝ‘๊ธฐ -----------------------> ์‹œ๊ฐ„์ดˆ๊ณผ 3..

[C++][Programmers][์ •๋ ฌ] K๋ฒˆ์งธ ์ˆ˜

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณ ๋“์  kit ์ •๋ ฌํŒŒํŠธ 1๋ฒˆ K๋ฒˆ์งธ ์ˆ˜ [๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/42748 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ•ด๊ฒฐ๋ฒ•] ๋ฒกํ„ฐ์—์„œ i~j ์ˆซ์ž๋ฅผ ์ถ”์ถœํ•˜๊ณ  ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ ํ›„, k๋ฒˆ์งธ ์ˆ˜๋ฅผ ๋ฝ‘๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ˆœ์„œ๋Œ€๋กœ ์ฐจ๊ทผ์ฐจ๊ทผ ํ•˜๋‹ˆ๊นŒ ๊ธˆ๋ฐฉ ํ’€๋ ธ๋‹ค. but ๋ฐฑ๋งŒ๋…„๋งŒ์— C++ ๋‹ค์‹œ ์žก์œผ๋‹ˆ ํ•จ์ˆ˜๊ฐ€ ํ—ท๊ฐˆ๋ฆฐ๋‹ค... ๊ฐ์žก์ž keep going... [์•Œ์•„๋‘˜ ๊ฒƒ] 1. ๋ฒกํ„ฐ ๋ถ€๋ถ„์ถ”์ถœ vector partArray(array.begin() + beginIndex, a..

[C++][Beakjoon][DFS/BFS] 13023๋ฒˆ ABCDE

https://www.acmicpc.net/problem/13023 13023๋ฒˆ: ABCDE ๋ฌธ์ œ์˜ ์กฐ๊ฑด์— ๋งž๋Š” A, B, C, D, E๊ฐ€ ์กด์žฌํ•˜๋ฉด 1์„ ์—†์œผ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ++relationDepth ์•„๋‹ˆ๊ณ  relationDepth+1 ์ด ๋งž์Œ!!!!!!!!!!! #include #include using namespace std; const int MAX_SIZE = 2001; vector graph[MAX_SIZE]; bool visited[MAX_SIZE]; int answer; void DFS(int person, int relationDepth); int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.ti..

[C++][Beakjoon] 11724๋ฒˆ ์—ฐ๊ฒฐ์š”์†Œ

[๋ฌธ์ œ] 11724๋ฒˆ: ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N๊ณผ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฐ„์„ ์˜ ์–‘ ๋์  u์™€ v๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ u, v ≤ N, u ≠ v) ๊ฐ™์€ ๊ฐ„์„ ์€ ํ•œ ๋ฒˆ๋งŒ ์ฃผ www.acmicpc.net [ํ’€์ด] ๋ฒกํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ์ธ์ ‘๋ฆฌ์ŠคํŠธ์™€ DFS๋กœ ํ’ˆ~! *๋™์ ํ• ๋‹น๋ถ€๋ถ„ ๊ธฐ์–ตํ•˜๊น…... vector *graph = new vector[vertexNum + 1]; //์ธ์ ‘๋ฆฌ์ŠคํŠธ ๋™์ ํ• ๋‹น bool *visited = new bool[vertexNum + 1]; [ํ’€์ด ์ฝ”๋“œ] #include #include using namespace std; void dfs(int vertex, vector grap..

[C++][Baekjoon][๋น„ํŠธ๋งˆ์Šคํฌ] 11723๋ฒˆ ์ง‘ํ•ฉ

https://www.acmicpc.net/problem/11723 11723๋ฒˆ: ์ง‘ํ•ฉ ์ฒซ์งธ ์ค„์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์—ฐ์‚ฐ์˜ ์ˆ˜ M (1 ≤ M ≤ 3,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์—ฐ์‚ฐ์ด ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int calculationNum, bit = 0, num; // bit ์ดˆ๊ธฐํ™” ํ•„์ˆ˜ string calculationString; cin >> calculationNum; for (int i = 0; i < calculationNum..

[C++][Baekjoon] 10971๋ฒˆ ์™ธํŒ์› ์ˆœํšŒ2

https://www.acmicpc.net/problem/10971 10971๋ฒˆ: ์™ธํŒ์› ์ˆœํšŒ 2 ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 10) ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๋น„์šฉ ํ–‰๋ ฌ์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ–‰๋ ฌ์˜ ์„ฑ๋ถ„์€ 1,000,000 ์ดํ•˜์˜ ์–‘์˜ ์ •์ˆ˜์ด๋ฉฐ, ๊ฐˆ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋Š” 0์ด ์ฃผ์–ด์ง„๋‹ค. W[i][j]๋Š” ๋„์‹œ i์—์„œ j www.acmicpc.net #include #include #include using namespace std; void SearchCity(int startCity, int currentCity, int costSum, int count, vector visitedCityArr, vector visitedCityVector); int leastCost = INT_MAX; int..

[C++][Baekjoon][Math] 6588๋ฒˆ ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก(feat. C++ ์ž…์ถœ๋ ฅ ์‹œ๊ฐ„ ๋‹จ์ถ•)

[๋ฌธ์ œ] 6588๋ฒˆ: ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ, n = a + b ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ์ด๋•Œ, a์™€ b๋Š” ํ™€์ˆ˜ ์†Œ์ˆ˜์ด๋‹ค. ์ˆซ์ž์™€ ์—ฐ์‚ฐ์ž๋Š” ๊ณต๋ฐฑ ํ•˜๋‚˜๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ ์žˆ๋‹ค. ๋งŒ์•ฝ, n์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋ผ๋ฉด, b-a๊ฐ€ ๊ฐ€์žฅ ํฐ www.acmicpc.net "4๋ณด๋‹ค ํฐ ๋ชจ๋“  ์ง์ˆ˜๋Š” ๋‘ ํ™€์ˆ˜ ์†Œ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค." ๋Š” ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก์ด ๋งž๋Š”์ง€ ํ‹€๋ ธ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ, n = a + b ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ์ด๋•Œ, a์™€ b๋Š” ํ™€์ˆ˜ ์†Œ์ˆ˜์ด๋‹ค. ๋งŒ์•ฝ, n์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋ผ๋ฉด, b-a๊ฐ€ ๊ฐ€์žฅ ํฐ ๊ฒƒ์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋‘ ํ™€์ˆ˜ ์†Œ์ˆ˜์˜ ํ•ฉ์œผ๋กœ n์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” "Goldbach's conjecture is wrong."์„ ์ถœ๋ ฅํ•œ๋‹ค. [..

[C++][Baekjoon][Math] 1978๋ฒˆ ์†Œ์ˆ˜์ฐพ๊ธฐ

[๋ฌธ์ œ] 1978๋ฒˆ: ์†Œ์ˆ˜ ์ฐพ๊ธฐ ์ฒซ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 100์ดํ•˜์ด๋‹ค. ๋‹ค์Œ์œผ๋กœ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ ์ˆ˜๋Š” 1,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ์ฃผ์–ด์ง„ ์ˆ˜ N๊ฐœ ์ค‘์—์„œ ์†Œ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์ฐพ๋Š” ๋ฌธ์ œ. [ํ’€์ด] ์šฐ์„  ์†Œ์ˆ˜๋ž€, 1๋ณด๋‹ค ํฌ๋ฉฐ 1๊ณผ ์ž๊ธฐ ์ž์‹  ์ด์™ธ์—” ๋‚˜๋ˆ„์–ด์ง€์ง€ ์•Š๋Š” ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์†Œ์ˆ˜ ์ฐพ๋Š” ๋ฒ•์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. 1. 2๋ถ€ํ„ฐ ๋ฃจํŠธN๊นŒ์ง€ ์†Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๋ฒ•. ์‹œ๊ฐ„๋ณต์žก๋„ O(๋ฃจํŠธN). 2. ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•˜์—ฌ 2๋ถ€ํ„ฐ ์ž์‹ ์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋‹ค ์ง€์šฐ๋Š” ๋ฐฉ๋ฒ•. ์‹œ๊ฐ„ ๋ณต์žก๋„ O(N(log(logN))). 1๋ฒˆ ๋ฐฉ๋ฒ•์—์„œ ๋ฃจํŠธN๊นŒ์ง€๋งŒ ํ™•์ธํ•˜๋Š” ์ด์œ ๋Š” ๊ทธ ์ด์ƒ์€ ๋ฃจํŠธN ์ดํ•˜์˜ ๋ฐฐ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด N์œผ๋กœ 24๊ฐ€ ์ฃผ์–ด์ง€๊ณ  24์˜ ์•ฝ์ˆ˜..

728x90