문제 링크 → 백준 17827번 - 달팽이 리스트
import sys
input = sys.stdin.readline
output = sys.stdout.write
N, M, V = map(int, input().split())
node_list = input().split()
for i in range(M):
K = int(input())
if K >= N:
output(node_list[(V-1)+int((K-(V-1))%(N-(V-1)))]+"\n")
else:
output(node_list[K]+"\n")
맨 처음에는 while문을 써봤는데 역시나 시간 초과..가 발생해 그냥 반복문을 없앨 수 있게 계산식으로 바꿔서 작성했다. 제출하고 가장 뿌듯한 건 pypy3로 제출한 사람들 중에 제일 시간이 적게 걸렸다는 것!!! 아마 문제 제출해서 맞은 사람들 중에 시간 제일 적게 걸린 경우는 처음인 것 같다. 뿌듯하니까 밑에 남겨놔야지 🥳
이제 1,2학년 때 풀다가 포기했던 문제들을 거의 다 풀고 1~2문제 정도 남은 것 같다. 남은 문제들 다 풀면 유형별로 풀어보기도 하고 다른 사이트 문제도 풀어봐야겠다.