| ps | |
|---|---|
| 링크 | acmicpc.net/… |
| 출처 | BOJ |
| 문제 번호 | 2164 |
| 문제명 | 카드2 |
| 레벨 | 실버 4 |
| 분류 |
요세푸스 문제 |
| 시간복잡도 | O(1) |
| 사용한 언어 | Python |
| 제출기록 | 29200KB / 76ms |
| 최고기록 | 52ms |
| 해결날짜 | 2021/08/05 |
"""Solution code for "BOJ 2164. 카드2".
- Problem link: https://www.acmicpc.net/problem/2164
- Solution link: http://www.teferi.net/ps/problems/boj/2164
"""
def main():
N = int(input())
answer = ~(1 << N.bit_length()) & (N << 1)
if answer == 0:
answer = N
print(answer)
if __name__ == '__main__':
main()
"""Solution code for "BOJ 2164. 카드2".
- Problem link: https://www.acmicpc.net/problem/2164
- Solution link: http://www.teferi.net/ps/problems/boj/2164
"""
import collections
def main():
N = int(input())
deq = collections.deque(range(1, N + 1))
while deq:
discarded_card = deq.popleft()
deq.rotate(-1)
print(discarded_card)
if __name__ == '__main__':
main()