๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)315

[๋ฐฑ์ค€,c++] 1932๋ฒˆ - ์ •์ˆ˜ ์‚ผ๊ฐํ˜• ๋ฌธ์ œ 1932๋ฒˆ: ์ •์ˆ˜ ์‚ผ๊ฐํ˜• ์ฒซ์งธ ์ค„์— ์‚ผ๊ฐํ˜•์˜ ํฌ๊ธฐ n(1 ≤ n ≤ 500)์ด ์ฃผ์–ด์ง€๊ณ , ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ n+1๋ฒˆ์งธ ์ค„๊นŒ์ง€ ์ •์ˆ˜ ์‚ผ๊ฐํ˜•์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ์ฝ”๋“œ #include using namespace std; int arr[501][501]; int dp[501][501]; int ans; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N; cin>>N; for(int i=1; iarr[i-1][k]; } } dp[0][0] = arr[0][0]; ans = dp[0][0]; for(int i=1; i 2022. 4. 4.
[๋ฐฑ์ค€,c++] 16926๋ฒˆ - ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ1 ๋ฌธ์ œ 16926๋ฒˆ: ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ 1 ํฌ๊ธฐ๊ฐ€ N×M์ธ ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ, ๋ฐฐ์—ด์„ ๋Œ๋ ค๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋ฐฐ์—ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ๋Œ๋ ค์•ผ ํ•œ๋‹ค. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net ์ฝ”๋“œ #include using namespace std; int n, m, r; int map[301][301]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cin>>n>>m>>r; for(int i=0; imap[i][j]; } } while(r--){ int x1 = 0, y1 = 0; int x2 .. 2022. 4. 4.
[๋ฐฑ์ค€,c++] 18511๋ฒˆ - ํฐ ์ˆ˜ ๊ตฌ์„ฑํ•˜๊ธฐ ๋ฌธ์ œ 18511๋ฒˆ: ํฐ ์ˆ˜ ๊ตฌ์„ฑํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— N, K์˜ ์›์†Œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง„๋‹ค. (10 ≤ N ≤ 100,000,000, 1 ≤ K์˜ ์›์†Œ์˜ ๊ฐœ์ˆ˜ ≤ 3) ๋‘˜์งธ ์ค„์— K์˜ ์›์†Œ๋“ค์ด ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ www.acmicpc.net ์ฝ”๋“œ #include #include #define ll long long int using namespace std; ll N,K,ans; vectorv; void find(vectorv, string now){ if(!now.empty()){ if(stoll(now)N>>K; for(int i=0; i>inp; v.push_back(inp); } find(v, ""); cout 2022. 4. 3.
[๋ฐฑ์ค€,c++] 1969๋ฒˆ - DNA ๋ฌธ์ œ 1969๋ฒˆ: DNA DNA๋ž€ ์–ด๋–ค ์œ ์ „๋ฌผ์งˆ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ถ„์ž์ด๋‹ค. ์ด DNA๋Š” ์„œ๋กœ ๋‹ค๋ฅธ 4๊ฐ€์ง€์˜ ๋‰ดํด๋ ˆ์˜คํ‹ฐ๋“œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค(Adenine, Thymine, Guanine, Cytosine). ์šฐ๋ฆฌ๋Š” ์–ด๋–ค DNA์˜ ๋ฌผ์งˆ์„ ํ‘œํ˜„ํ•  ๋•Œ, ์ด DNA๋ฅผ ์ด๋ฃจ๋Š” ๋‰ดํด๋ ˆ์˜ค www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N, M; cin>>N>>M; vectorv; string dna; int hamming_distance_cnt = 0; for(int i=0; i>inp; v.push_back(inp); } for(int i=0.. 2022. 3. 31.
[๋ฐฑ์ค€,c++] 1052๋ฒˆ - ๋ฌผ๋ณ‘ ๋ฌธ์ œ 1052๋ฒˆ: ๋ฌผ๋ณ‘ ์ง€๋ฏผ์ด๋Š” N๊ฐœ์˜ ๋ฌผ๋ณ‘์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ฐ ๋ฌผ๋ณ‘์—๋Š” ๋ฌผ์„ ๋ฌดํ•œ๋Œ€๋กœ ๋ถ€์„ ์ˆ˜ ์žˆ๋‹ค. ์ฒ˜์Œ์— ๋ชจ๋“  ๋ฌผ๋ณ‘์—๋Š” ๋ฌผ์ด 1๋ฆฌํ„ฐ์”ฉ ๋“ค์–ด์žˆ๋‹ค. ์ง€๋ฏผ์ด๋Š” ์ด ๋ฌผ๋ณ‘์„ ๋˜ ๋‹ค๋ฅธ ์žฅ์†Œ๋กœ ์˜ฎ๊ธฐ๋ ค๊ณ  ํ•œ๋‹ค. ์ง€๋ฏผ์ด๋Š” ํ•œ ๋ฒˆ www.acmicpc.net ์ฝ”๋“œ #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N,K; cin>>N>>K; int ans = 0; for(ans;; ans++){ int cnt = 0; int temp_N = N; while(temp_N!=0){ if(temp_N%2) cnt++; temp_N/=2; } if(cnt 2022. 3. 30.
[๋ฐฑ์ค€,c++] 2696๋ฒˆ - ์ค‘์•™๊ฐ’ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ 2696๋ฒˆ: ์ค‘์•™๊ฐ’ ๊ตฌํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T(1 ≤ T ≤ 1,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ์ˆ˜์—ด์˜ ํฌ๊ธฐ M(1 ≤ M ≤ 9999, M์€ ํ™€์ˆ˜)์ด ์ฃผ์–ด์ง€๊ณ , ๊ทธ ๋‹ค์Œ ์ค„๋ถ€ํ„ฐ ์ด ์ˆ˜์—ด์˜ ์›์†Œ๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ ์ฃผ www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int T; cin>>T; while(T--){ int n; cin>>n; priority_queue max_heap; // max_heap์—๋Š” ์ค‘๊ฐ„๊ฐ’ ์ดํ•˜์˜ ๊ฐ’๋งŒ ๋‹ด๊ฒจ์•ผ ํ•œ๋‹ค. priority_queue min_heap; vectorans; int m.. 2022. 3. 29.
[๋ฐฑ์ค€,c++] 2422๋ฒˆ - ํ•œ์œค์ •์ด ์ดํƒˆ๋ฆฌ์•„์— ๊ฐ€์„œ ์•„์ด์Šคํฌ๋ฆผ์„ ์‚ฌ๋จน๋Š”๋ฐ ๋ฌธ์ œ 2422๋ฒˆ: ํ•œ์œค์ •์ด ์ดํƒˆ๋ฆฌ์•„์— ๊ฐ€์„œ ์•„์ด์Šคํฌ๋ฆผ์„ ์‚ฌ๋จน๋Š”๋ฐ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜ N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. N์€ ์•„์ด์Šคํฌ๋ฆผ ์ข…๋ฅ˜์˜ ์ˆ˜์ด๊ณ , M์€ ์„ž์–ด๋จน์œผ๋ฉด ์•ˆ ๋˜๋Š” ์กฐํ•ฉ์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ์•„๋ž˜ M๊ฐœ์˜ ์ค„์—๋Š” ์„ž์–ด๋จน์œผ๋ฉด ์•ˆ ๋˜๋Š” ์กฐํ•ฉ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ™์€ ์กฐํ•ฉ์€ ๋‘ ๋ฒˆ www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; int N,M,ans; vectorv[201]; void dfs(int now, int first, int second, int third, int cnt){ if(cnt==3){ for(int i=0; iM; for(int i=0; i>a>>b; v[a].push_back(b); v[b].push_back(a); } for(in.. 2022. 3. 27.
[๋ฐฑ์ค€,c++] 1449๋ฒˆ - ์ˆ˜๋ฆฌ๊ณต ํ•ญ์Šน ๋ฌธ์ œ 1449๋ฒˆ: ์ˆ˜๋ฆฌ๊ณต ํ•ญ์Šน ์ฒซ์งธ ์ค„์— ๋ฌผ์ด ์ƒˆ๋Š” ๊ณณ์˜ ๊ฐœ์ˆ˜ N๊ณผ ํ…Œ์ดํ”„์˜ ๊ธธ์ด L์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๋ฌผ์ด ์ƒˆ๋Š” ๊ณณ์˜ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. N๊ณผ L์€ 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , ๋ฌผ์ด ์ƒˆ๋Š” ๊ณณ์˜ ์œ„์น˜๋Š” 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N,L; cin>>N>>L; vectorv; for(int i=0; i>inp; v.push_back(inp); } sort(v.begin(),v.end()); double start = 0, end = 0, now = 0; int cnt =.. 2022. 3. 27.
[๋ฐฑ์ค€,c++] 1254๋ฒˆ - ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ ๋ฌธ์ œ 1254๋ฒˆ: ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ ๋™ํ˜ธ์™€ ๊ทœ์™„์ด๋Š” 212ํ˜ธ์—์„œ ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทœ์™„์ด๋Š” ํŒฐ๋ฆฐ๋“œ๋กฌ์„ ์—„์ฒญ๋‚˜๊ฒŒ ์ข‹์•„ํ•œ๋‹ค. ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ž€ ์•ž์—์„œ๋ถ€ํ„ฐ ์ฝ์œผ๋‚˜ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฝ์œผ๋‚˜ ๊ฐ™๊ฒŒ ์ฝํžˆ๋Š” ๋ฌธ์ž์—ด์„ ๋งํ•œ๋‹ค. ๋™ํ˜ธ๋Š” www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; bool isPalindrom(string inp){ string temp = inp; reverse(inp.begin(), inp.end()); if(temp==inp) return true; return false; } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); string s; cin>>s; int ans .. 2022. 3. 26.