https://www.acmicpc.net/problem/11866
[1] ๋ฌธ์
๋ฌธ์
์์ธํธ์ค ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
1๋ฒ๋ถํฐ N๋ฒ๊น์ง N๋ช ์ ์ฌ๋์ด ์์ ์ด๋ฃจ๋ฉด์ ์์์๊ณ , ์์ ์ ์ K(≤ N)๊ฐ ์ฃผ์ด์ง๋ค. ์ด์ ์์๋๋ก K๋ฒ์งธ ์ฌ๋์ ์ ๊ฑฐํ๋ค. ํ ์ฌ๋์ด ์ ๊ฑฐ๋๋ฉด ๋จ์ ์ฌ๋๋ค๋ก ์ด๋ฃจ์ด์ง ์์ ๋ฐ๋ผ ์ด ๊ณผ์ ์ ๊ณ์ํด ๋๊ฐ๋ค. ์ด ๊ณผ์ ์ N๋ช ์ ์ฌ๋์ด ๋ชจ๋ ์ ๊ฑฐ๋ ๋๊น์ง ๊ณ์๋๋ค. ์์์ ์ฌ๋๋ค์ด ์ ๊ฑฐ๋๋ ์์๋ฅผ (N, K)-์์ธํธ์ค ์์ด์ด๋ผ๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด (7, 3)-์์ธํธ์ค ์์ด์ <3, 6, 2, 7, 5, 1, 4>์ด๋ค.
N๊ณผ K๊ฐ ์ฃผ์ด์ง๋ฉด (N, K)-์์ธํธ์ค ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ N ≤ 1,000)
์ถ๋ ฅ
์์ ์ ๊ฐ์ด ์์ธํธ์ค ์์ด์ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
7 3
์์ ์ถ๋ ฅ 1
<3, 6, 2, 7, 5, 1, 4>
[2] ์ ๋ต ๋ฐ ํด์
# ์ ๋ต ์ฝ๋ (๋ฐฐ์ด ํ์ฉ)
( ์ถ์ฒ: https://blog.naver.com/jungsk20/222877712533 )
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void){
int n, k, arr[1001]={0,}, idx = 0, j = 1;
scanf("%d %d", &n, &k);
int s = n;
printf("<");
while (1) {
if (n < j) j = 1;
if (arr[j] == 0) idx += 1;
if (idx == k) {
arr[j] = 1;
if (s != 1) {
printf("%d, ", j);
idx = 0;
s -= 1;
}
else {
printf("%d>", j);
break;
}
}
j += 1;
}
return 0;
}
# ํด์
int n, k, arr[1001]={0,}, idx = 0, j = 1;: ์ ์ํ ๋ณ์ n, k, idx, j์ ํฌ๊ธฐ๊ฐ 1001์ธ ์ ์ํ ๋ฐฐ์ด arr์ ์ ์ธํ๋ค. arr ๋ฐฐ์ด์ 0์ผ๋ก ์ด๊ธฐํ๋๋ค.
scanf("%d %d", &n, &k);: ์ฌ์ฉ์๋ก๋ถํฐ ๋ ๊ฐ์ ์ ์๋ฅผ ์ ๋ ฅ๋ฐ์ n๊ณผ k์ ์ ์ฅํ๋ค.
int s = n;: s ๋ณ์๋ฅผ ์ ์ธํ๊ณ , n์ ๊ฐ์ผ๋ก ์ด๊ธฐํํ๋ค.
printf("<");: ํ๋ฉด์ < ๋ฌธ์๋ฅผ ์ถ๋ ฅํ๋ค.
while (1) { ... }: ๋ฌดํ ๋ฃจํ๋ฅผ ์์ํ๋ค.
if (n < j) j = 1;: n๋ณด๋ค j๊ฐ ํฌ๋ฉด j๋ฅผ 1๋ก ์ด๊ธฐํํ๋ค. ์ด๋ ์ํ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ถ๋ถ์ด๋ค.
if (arr[j] == 0) idx += 1;: ๋ง์ฝ arr[j]๊ฐ 0์ด๋ฉด idx๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
if (idx == k) { ... }: ๋ง์ฝ idx๊ฐ k์ ๊ฐ๋ค๋ฉด, ์๋์ ์ฝ๋๋ฅผ ์คํํ๋ค.
arr[j] = 1;: arr[j]๋ฅผ 1๋ก ์ค์ ํ์ฌ ํด๋น ์ซ์๋ฅผ ์ฌ์ฉํ์์ ํ์ํ๋ค.
if (s != 1) { ... }: ๋ง์ฝ ์์ง ์ถ๋ ฅํด์ผ ํ ์ซ์๊ฐ ๋จ์์๋ค๋ฉด, ์๋์ ์ฝ๋๋ฅผ ์คํํ๋ค.
printf("%d, ", j);: j๋ฅผ ์ถ๋ ฅํ๊ณ , ๋ฅผ ์ถ๊ฐํ์ฌ ํ๋ฉด์ ์ถ๋ ฅํ๋ค.
idx = 0;: idx๋ฅผ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
s -= 1;: ์ถ๋ ฅํด์ผ ํ ์ซ์์ ๊ฐ์๋ฅผ ํ๋ ๊ฐ์์ํจ๋ค.
else { ... }: ๋ง์ฝ ์ถ๋ ฅํด์ผ ํ ์ซ์๊ฐ ๋ ์ด์ ์๋ค๋ฉด, ์๋์ ์ฝ๋๋ฅผ ์คํํ๋ค.
printf("%d>", j);: j๋ฅผ ์ถ๋ ฅํ๊ณ >๋ฅผ ์ถ๊ฐํ์ฌ ํ๋ฉด์ ์ถ๋ ฅํ๋ค.
break;: ๋ฌดํ ๋ฃจํ๋ฅผ ์ข ๋ฃํ๋ค.
j += 1;: j๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
[3] ๋๋ ์
์ด๋ ค์์ ๊ตฌ๊ธ๋งํ ๊ฒฐ๊ณผ๋ฅผ ์ต๋ํ ์ดํดํด๋ณด๋ ค๊ณ ๋ ธ๋ ฅํ๋ค!
'SWLUG > ๋ฐฑ์ค BEAKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C] ๋ฐฑ์ค BAEKJOON 2798๋ฒ: ๋ธ๋์ญ (1) | 2023.10.06 |
---|---|
[C] ๋ฐฑ์ค BAEKJOON 2577๋ฒ: ์ซ์์ ๊ฐ์ (2) | 2023.10.06 |
[C] ๋ฐฑ์ค BAEKJOON 28278๋ฒ: ์คํ 2 (0) | 2023.09.30 |
[C] ๋ฐฑ์ค BEAKJOON 19532๋ฒ: ์ํ์ ๋น๋๋ฉด๊ฐ์์ ๋๋ค. (0) | 2023.09.27 |
[C] ๋ฐฑ์ค BEAKJOON 2164๋ฒ: ์นด๋2 (0) | 2023.09.27 |