백준 1158 - 요세푸스 문제
백준 1158 - 요세푸스 문제
https://www.acmicpc.net/problem/1158
풀이
처음에는 vector를 사용하여 문제를 해결하려고 했으나, 배열에서 숫자를 제거해야
하기 때문에, 배열말고 다른 자료구조를 사용해야겠다고 생각했다.
여러가지 풀이가 있겠지만, List와 queue를 사용해서 풀 수 있었다.
-
List 풀이
리스트에서 어떻게 k 번째 사람을 특정할 것인지를 생각해야 한다.
i라는 변수를 하나 두어,k로 나누어떨어질 때마다 출력해주었다. -
Queue 풀이
k번째 수가 앞으로 올 때까지, 그 전의 수들을 뒤로 보내주면 된다.
k번째 수가 앞으로 오면, 출력하고 지워주는 방식으로 해결한다.
Leave a comment