코딩테스트 준비/[백준]
[백준] 2840번 행운의 바퀴 - 파이썬
bled
2021. 7. 4. 18:16
https://www.acmicpc.net/problem/2840
2840번: 행운의 바퀴
첫째 줄에 마지막 회전에서 화살표가 가리키는 문자부터 시계방향으로 바퀴에 적어놓은 알파벳을 출력한다. 이때, 어떤 글자인지 결정하지 못하는 칸은 '?'를 출력한다. 만약, 상덕이가 적어놓
www.acmicpc.net
[코드]
import sys
from collections import deque
input = sys.stdin.readline
N, K = map(int, input().split())
que = deque(['?'] * N)
que2 = deque()
for i in range(K):
num, char = input().split()
num = int(num)
que2.append((num, char))
cur = 0
flag = False
while que2:
num, char = que2.popleft()
cur += num
if cur >= N:
cur = cur % N
if que[cur] == '?':
que[cur] = char
elif que[cur] == char:
continue
else:
flag = True
break
if flag:
print('!')
else:
for x in que:
if x != '?' and que.count(x) > 1:
print('!')
sys.exit()
que.rotate(-cur-1)
que.reverse()
while que:
print(que.popleft(), end='')