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

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

[๋ฐฑ์ค€,c++] 11123๋ฒˆ - ์–‘ ํ•œ๋งˆ๋ฆฌ... ์–‘ ๋‘๋งˆ๋ฆฌ... #include #include using namespace std; int H,W; char map[101][101]; int visited[101][101]; int dx[4]={0,0,-1,1}; int dy[4]={-1,1,0,0}; int ans; void init(){ for(int i=0; i>H>>W; for(int i=0; i>inp; for(int k=0; k 2021. 10. 27.
[๋ฐฑ์ค€,c++] 1110๋ฒˆ - ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); string check; cin >> check; string cycle; int cnt = 0; if (check.length() == 1) { check = "0" + check; } cycle = check; while (true) { int temp = stoi(cycle) / 10 + stoi(cycle) % 10; int temp3 = stoi(cycle) % 10; cycle = to_string(temp3) + to_string(temp % 10); if (check == cycle) break; else cnt++;.. 2021. 10. 27.
[๋ฐฑ์ค€,c++] 1107๋ฒˆ - ๋ฆฌ๋ชจ์ปจ 1107๋ฒˆ: ๋ฆฌ๋ชจ์ปจ ์ฒซ์งธ ์ค„์— ์ˆ˜๋นˆ์ด๊ฐ€ ์ด๋™ํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ฑ„๋„ N (0 ≤ N ≤ 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๊ณ ์žฅ๋‚œ ๋ฒ„ํŠผ์˜ ๊ฐœ์ˆ˜ M (0 ≤ M ≤ 10)์ด ์ฃผ์–ด์ง„๋‹ค. ๊ณ ์žฅ๋‚œ ๋ฒ„ํŠผ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์…‹์งธ ์ค„์—๋Š” ๊ณ ์žฅ๋‚œ ๋ฒ„ํŠผ www.acmicpc.net #include #include #include using namespace std; int broken[11]={1,1,1,1,1,1,1,1,1,1}; bool check(int i){ string s = to_string(i); for(int i=0; i>N>>M; for(int i=0; i>broken_num; broken[broken_num]=0; } int ans=abs(N-100); //100๋ฒˆ ๋ถ€ํ„ฐ ์›ํ•˜๋Š” ๋ฒˆํ˜ธ๊นŒ์ง€ ++ ํ˜น์€ --๋งŒ .. 2021. 10. 27.
[๋ฐฑ์ค€,c++] 11053๋ฒˆ - ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด(Longest Increasing Subsequence,Lis) 11053๋ฒˆ: ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด ์ˆ˜์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜์—ด A = {10, 20, 10, 30, 20, 50} ์ธ ๊ฒฝ์šฐ์— ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์€ A = {10, 20, 10, 30, 20, 50} ์ด www.acmicpc.net #include #include #include using namespace std; vectorarr(1001); vectordp(1001,1); int main() { ios_base::sync_with_stdio(false); cin.tie(0); int N; cin >> N; for (int i = 0; i > arr[i]; //์ˆ˜์—ด ์ž…๋ ฅ. } fo.. 2021. 10. 27.
[๋ฐฑ์ค€,c++] 11052๋ฒˆ - ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ 11052๋ฒˆ: ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ๋ฏผ๊ทœ๊ฐ€ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•˜๋Š” ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000) ๋‘˜์งธ ์ค„์—๋Š” Pi๊ฐ€ P1๋ถ€ํ„ฐ PN๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net #include using namespace std; int dp[10001]; int card[10001]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n; cin>>n; for(int i=1; i>card[i]; } //card[]์˜ index=๊ฐฏ์ˆ˜, value= ๊ฐ€๊ฒฉ for(int i=1; i 2021. 10. 27.
[๋ฐฑ์ค€,c++] 11051๋ฒˆ - ์ดํ•ญ ๊ณ„์ˆ˜2 11051๋ฒˆ: ์ดํ•ญ ๊ณ„์ˆ˜ 2 ์ฒซ์งธ ์ค„์— \(N\)๊ณผ \(K\)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net #include #define MOD 10007 using namespace std; long long int arr[1001][1001]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N,K; cin>>N>>K; for(int i=0; i 2021. 10. 26.
[๋ฐฑ์ค€,c++] 11050๋ฒˆ - ์ดํ•ญ ๊ณ„์ˆ˜1 11050๋ฒˆ: ์ดํ•ญ ๊ณ„์ˆ˜ 1 ์ฒซ์งธ ์ค„์— \(N\)๊ณผ \(K\)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int upper = 1, lower = 1; int n, k; cin >> n >> k; for (int i = k; i > 0; i--) { upper *= n; n--; } for (int i = k; k > 0; k--) { lower *= k; } cout 2021. 10. 26.
[๋ฐฑ์ค€,c++] 11049๋ฒˆ - ํ–‰๋ ฌ ๊ณฑ์…ˆ ์ˆœ์„œ 11049๋ฒˆ: ํ–‰๋ ฌ ๊ณฑ์…ˆ ์ˆœ์„œ ์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ํ–‰๋ ฌ์„ ๊ณฑํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ •๋‹ต์€ 231-1 ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋˜ํ•œ, ์ตœ์•…์˜ ์ˆœ์„œ๋กœ ์—ฐ์‚ฐํ•ด๋„ ์—ฐ์‚ฐ ํšŸ์ˆ˜๊ฐ€ 231-1๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™ www.acmicpc.net #include #define INF 1e9 /* (iN; for (int i=0; ir[i]>>c[i]; } for(int cnt=1; cnt 2021. 10. 26.
[๋ฐฑ์ค€,c++] 11048๋ฒˆ - ์ด๋™ํ•˜๊ธฐ 11048๋ฒˆ: ์ด๋™ํ•˜๊ธฐ ์ค€๊ทœ๋Š” N×M ํฌ๊ธฐ์˜ ๋ฏธ๋กœ์— ๊ฐ‡ํ˜€์žˆ๋‹ค. ๋ฏธ๋กœ๋Š” 1×1ํฌ๊ธฐ์˜ ๋ฐฉ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๊ณ , ๊ฐ ๋ฐฉ์—๋Š” ์‚ฌํƒ•์ด ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ๋ฏธ๋กœ์˜ ๊ฐ€์žฅ ์™ผ์ชฝ ์œ— ๋ฐฉ์€ (1, 1)์ด๊ณ , ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์•„๋žซ ๋ฐฉ์€ (N, M)์ด๋‹ค. ์ค€๊ทœ๋Š” www.acmicpc.net #include using namespace std; int dp[1001][1001]; int arr[1001][1001]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n,m; cin>>n>>m; for(int i=0; iarr[i][k]; } } dp[0][0]=arr[0][0]; for(int i=0; i 2021. 10. 26.