728x90
문제
길이가 n인 수열이 있다.
이 수열에서 x 번 인덱스의 y 칸 뒤의 수를 출력하는 프로그램을 작성하시오.
단, 이 수열의 끝은 처음과 연결되어있다. 인덱스가 0번부터 시작한다면, 0 번 인덱스 1 칸 뒤는 n-1 번 인덱스이다.
본 문제에서는 시계 방향 회전을 정방향 회전이라고 정의했습니다.
입력
첫 번째 줄에 수열의 길이 n 이 주어진다.
두 번째 줄에 수열을 구성하는 수 ai 가 n 개가 주어진다. 같은 수의 ai 는 존재하지 않는다.
세 번째 줄에 x 와 y 가 주어진다.
(3 ≤ n ≤ 100, 1 ≤ ai ≤ n, 0 ≤ x ≤ n-1, 1 ≤ y ≤ n)
출력
첫 줄에 수열의 x 번 인덱스의 y 칸 뒤에 있는 수를 출력한다.
입력의 예 1
5
2 3 1 5 4
1 4
출력의 예 1
2
입력의 예 2
8
1 3 4 2 8 7 5 6
5 6
출력의 예 2
2
입력의 예 3
9
1 6 9 7 4 2 3 5 8
4 8
출력의 예 3
7
입력의 예 4
15
5 3 1 2 4 7 11 14 9 8 6 12 13 15 10
11 12
출력의 예 4
9
설명
입력의 예 1 번의 경우, 1번 인덱스에 있는 3에서 네 칸 뒤로 가면 1, 5, 4를 지나서 2에 도착한다.
# 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
n = int(input())
getList = list(map(int, input().split()))
getPos = list(map(int, input().split()))
xPos = getPos[0]
yPos = getPos[1]
if xPos + yPos >= n:
xPos = xPos + yPos - n
elif xPos + yPos < n:
xPos = xPos + yPos
print(getList[xPos])
|
cs |
반응형
'CS > 알고리즘_문제풀이(파이썬)' 카테고리의 다른 글
회전 알고리즘 (0) | 2021.05.14 |
---|---|
역방향 (0) | 2021.05.14 |
streetree (0) | 2021.05.13 |
bingo (0) | 2021.05.12 |
colorpaper (0) | 2021.05.11 |