https://www.acmicpc.net/problem/1158
์ฒ์์ ์ด๋ป๊ฒ ํ์ด์ผ ํ๋ ๊ณ ๋ฏผ์ ํ๋ค. Node ํด๋์ค๋ฅผ ์ง์ ๋ง๋ค์ด์ ๋ฌธ์ ์ ๋ง๊ฒ ํ๋ก ์ํ์ด ๋๋๋ก add์ pop, remove ๋ฑ์ ๋ฉ์๋๋ฅผ ์ง์ ๋ง๋ค์ด์ผ ํ๋ ์๊ฐํ์๋ค. ํ์ง๋ง ๊ทธ๋ ๊ฒ ํ๊ธฐ์๋ ๋ฒ๊ฑฐ๋กญ๊ณ ๋ ๋ณต์กํด ๋ณด์ธ๋ค.
๊ทธ๋ฅ ํ๋ก ๊ตฌํ์ ํ๋๋ฐ, K๋ฒ์งธ ์๊น์ง๋ ๋ฝ์์ ๋ค์ ๋ค๋ก ์ฝ์ ํ๊ณ K๋ฒ์งธ ์์๋ ๋ฝ์๋ฒ๋ฆฌ๊ณ ๋ฅผ ๋ฐ๋ณตํ๋ฉด ๋๋ค!
์ฝ๋
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int K = sc.nextInt();
Queue<Integer> queue = new LinkedList<>();
for(int i = 1; i <= N; i++) {
queue.add(i);
}
StringBuilder sb = new StringBuilder();
sb.append("<");
while(queue.size() > 0) {
for(int i = 0; i < K - 1; i++) {
int p = queue.poll(); //์์ ์์ ๋ฝ์์
queue.add(p); //๋ค๋ก ๋ค์ ์ฝ์
}
if(queue.size() != 1) { //K๋ฒ์งธ ์ ๊ฑฐ
sb.append(queue.poll() + ", ");
}else {
sb.append(queue.poll());
}
}
sb.append(">");
System.out.println(sb);
}
}
๊ฒฐ๊ณผ
'Algorithm > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 16926๋ฒ : ๋ฐฐ์ด ๋๋ฆฌ๊ธฐ 1 (0) | 2022.08.09 |
---|---|
2304๋ฒ - ์ฐฝ๊ณ ๋ค๊ฐํ (0) | 2022.08.09 |
๋ฐฑ์ค 2630๋ฒ - ์์ข ์ด ๋ง๋ค๊ธฐ (0) | 2022.08.07 |
๋ฐฑ์ค 11660๋ฒ - ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 5 (0) | 2022.08.06 |
๋ฐฑ์ค 12891๋ฒ - DNA ๋น๋ฐ๋ฒํธ (0) | 2022.08.05 |