https://www.acmicpc.net/problem/2164
์ ๋ชจ๋ฅด๊ฒ ๋ค... ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ ์๋ํด๋ณด์๋๋ฐ,
์ง์ง ํน์๋ํด์ ์ ์ถํ๋๋ฐ ์ญ์๋ ํ๋ ธ๋ค.
๊ตฌ๊ธ๋ง์ ํตํด ์ ๋ต์ ์์๋ณด์๋ค.
(์ฐธ๊ณ : https://jootopia0808.tistory.com/111, https://blog.naver.com/kim-nan-hee/221901814483 )
[1] ์ ๋ต ์ฝ๋
#include <stdio.h>
#define size 500000
int main()
{
int n, i, front=0, rear;
int que[size];
scanf("%d", &n);
for(i=0; i<n; i++) que[i]=i+1;
rear=n-1;
while(1) {
front=(front+1)%n;
if(rear==front) break; // ํ์ธ
rear=(rear+1)%n;
que[rear]=que[front];
front=(front+1)%n;
if(rear==front) break; // ํ์ธ
}
printf("%d", que[rear]); // ์ถ๋ ฅ
return 0;
}
[2] ํด์
๋์์ ๋ฐ์๋ค... ์ ๋ต ์ฝ๋๋ฅผ ๋ด๋ ์ดํด๊ฐ ์ ๋๋ค. ๐ฅฒ๐ฅฒ๐ฅฒ
1. int n, i, front=0, rear;: ์ ์ํ ๋ณ์ n, i, front, rear์ ์ ์ธํ๋ค. front๋ ํ์ฌ ์นด๋ ๋ฑ์ ๋งจ ์ ์ธ๋ฑ์ค๋ฅผ ๋ํ๋ด๊ณ , rear๋ ํ์ฌ ์นด๋ ๋ฑ์ ๋งจ ๋ค ์ธ๋ฑ์ค๋ฅผ ๋ํ๋ธ๋ค.
2. int que[size];: ํฌ๊ธฐ๊ฐ size์ธ ์ ์ ๋ฐฐ์ด que๋ฅผ ์ ์ธํ๋ค. ์ด ๋ฐฐ์ด์ ์นด๋๋ฅผ ๋ด์ ๊ณต๊ฐ์ด๋ค.
3. scanf("%d", &n);: ์ฌ์ฉ์๋ก๋ถํฐ ์ ์๋ฅผ ์
๋ ฅ ๋ฐ์ n์ ์ ์ฅํ๋ค.
4. for(i=0; i<n; i++) que[i]=i+1;: 1๋ถํฐ N๊น์ง์ ๋ฒํธ๊ฐ ๋ถ์ ์นด๋๋ฅผ que ๋ฐฐ์ด์ ์ด๊ธฐํํ๋ค.
5. rear=n-1;: rear ๋ณ์๋ฅผ ์ด๊ธฐํํ๋ค. ์ฒ์์๋ ์นด๋ ๋ฑ์ด ๊ฝ ์ฐจ์์ผ๋ฏ๋ก n-1๋ก ์ค์ ํ๋ค.
6. while(1) { ... }: ๋ฌดํ ๋ฃจํ๋ฅผ ์์ํ๋ค.
7. front=(front+1)%n;: ํ์ฌ ๋งจ ์์ ์นด๋๋ฅผ ๋ฒ๋ฆฌ๊ณ front๋ฅผ ์
๋ฐ์ดํธํ๋ค.
8. if(rear==front) break;: ๋ง์ฝ rear์ front๊ฐ ๊ฐ์์ง๋ค๋ฉด ๋ฌดํ ๋ฃจํ๋ฅผ ์ข
๋ฃํ๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋ค. ์ด๋ ๋ง์ง๋ง ์นด๋๊ฐ ๋จ์์ ๋์ ์กฐ๊ฑด์ด๋ค.
9. rear=(rear+1)%n;: rear๋ฅผ ์
๋ฐ์ดํธํ์ฌ ๋งจ ๋ค๋ก ์ฎ๊ธด๋ค.
10. que[rear]=que[front];: ๋งจ ์์ ์นด๋๋ฅผ ๋งจ ๋ค๋ก ์ฎ๊ธด๋ค.
11. front=(front+1)%n;: ๋งจ ์์ ์นด๋๋ฅผ ๋ฒ๋ฆฌ๊ณ front๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
12. if(rear==front) break;: ๋ง์ฝ rear์ front๊ฐ ๊ฐ์์ง๋ค๋ฉด ๋ฌดํ ๋ฃจํ๋ฅผ ์ข
๋ฃํ๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋ค.
[3] ๋๋ ์
์ด ์ ๋ ๋ฌธ์ ๋ฅผ ์ค์ค๋ก ์๊ฐํด์ ํ์ด๋ด๋ ค๋ฉด ์ผ๋ง๋ ๋ง์ ๋ ธ๋ ฅ์ด ํ์ํ ๊น...?
๊ทธ๋ฐ ๋ ์ด ์์ผ๋ฉด ์ข๊ฒ ๋ค. ๊ทผ๋ฐ ํธ๋ ์ฌ๋์ด ์กด์ฌํ๋๊น ๋ฌธ์ ๋ ์๋ ๊ฑฐ๊ฒ ์ง? ์ด์ฌํ ํด์ผ๊ฒ ๋ค.
'SWLUG > ๋ฐฑ์ค BEAKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C] ๋ฐฑ์ค BAEKJOON 28278๋ฒ: ์คํ 2 (0) | 2023.09.30 |
---|---|
[C] ๋ฐฑ์ค BEAKJOON 19532๋ฒ: ์ํ์ ๋น๋๋ฉด๊ฐ์์ ๋๋ค. (0) | 2023.09.27 |
[C] ๋ฐฑ์ค BEAKJOON 10773๋ฒ: ์ ๋ก (0) | 2023.09.20 |
[C] ๋ฐฑ์ค BEAKJOON 1978๋ฒ: ์์ ์ฐพ๊ธฐ (0) | 2023.09.19 |
[python/ํ์ด์ฌ] ๋ฐฑ์ค BEAKJOON 10869๋ฒ: ์ฌ์น ์ฐ์ฐ (0) | 2023.06.25 |