※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
N개의 10억 이하 자연수로 이뤄진 수열이 주어진다.
이 수열은 완성된 것이 아니라 M개의 숫자를 지정된 위치에 추가하면 완성된다고 한다.
완성된 수열에서 인덱스 L의 데이터를 출력하는 프로그램을 작성하시오.
다음은 숫자를 추가하는 예이다.
인덱스 |
0 |
1 |
2 |
3 |
4 |
수열 |
1 |
2 |
3 |
4 |
5 |
2 7 -> 2번 인덱스에 7을 추가하고 한 칸 씩 뒤로 이동한다.
인덱스 |
0 |
1 |
2 |
3 |
4 |
5 |
수열 |
1 |
2 |
7 |
3 |
4 |
5 |
4 8 -> 4번 인덱스에 8을 추가하고 한 칸 씩 뒤로 이동한다.
인덱스 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
수열 |
1 |
2 |
7 |
3 |
8 |
4 |
5 |
[입력]
첫 줄에 테스트케이스의 수 T가 주어진다. 1<=T<=50
다음 줄부터 테스트 케이스의 별로 첫 줄에 수열의 길이 N, 추가 횟수 M, 출력할 인덱스 번호 L이 주어지고, 다음 줄에 수열이 주어진다.
그 다음 M개의 줄에 걸쳐 추가할 인덱스와 숫자 정보가 주어진다. 5<=N<=1000, 1<=M<=1000, 6<=L<=N+M
[출력]
각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 답을 출력한다.
입력 | 출력 |
3 5 2 5 1 2 3 4 5 2 7 4 8 5 5 4 13787 32221 32402 32498 4169 3 5902 3 9752 3 27737 1 14133 0 16547 10 10 8 16243 26767 22174 25277 17456 13398 29850 22297 1382 31246 9 23198 7 17514 11 24247 0 25306 2 9104 6 28112 12 7491 10 26972 17 22639 12 28722 |
#1 4 #2 32402 #3 13398 |
🎀 나의 풀이
T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
N, M, L = map(int, input().split()) # 수열의 길이, 추가 횟수, 출력할 인덱스 번호
num = list(map(int, input().split())) # 수열
for _ in range(M) :
idx, n = map(int, input().split()) # 추가할 인덱스와 숫자 정보
num.insert(idx, n)
print(f"#{test_case} {num[L]}")
insert를 이용해서 추가할 인덱스 idx에 숫자 n을 삽입했다.
🎁 다른사람 풀이
TC = int(input())
for tc in range(1, TC+1):
N, M, L = map(int, input().split())
arr = list(map(int, input().split()))
for i in range(M):
a, b = map(int, input().split())
arr.insert(a, b)
print("#%s %d" % (tc, arr[L]))
나랑 같은 알고리즘.
T = int(input())
for test_case in range(1, T + 1):
N, M, L = map(int, input().split())
lst = [i for i in map(int, input().split())]
for _ in range(M):
lst.insert(*map(int, input().split())) # 가변인자
print('#{} {}'.format(test_case, lst[L]))
insert 함수의 파라미터로 위치 가변 인자를 사용함.
'위치 가변 인자'를 사용하면 임의의 개수만큼 입력을 받을 수 있다.
반응형
'coding test' 카테고리의 다른 글
[파이썬] 5120. 암호 (0) | 2021.02.01 |
---|---|
[파이썬] 5110. 수열 합치기 (0) | 2021.01.29 |
[파이썬] 5102. 노드의 거리 (0) | 2021.01.27 |
[파이썬] 5099. 피자 굽기 (0) | 2021.01.26 |
[파이썬] 5105. 미로의 거리 (0) | 2021.01.25 |