[파이썬 S/W 문제해결 기본] 7일차 - 연결리스트
문제출처 |
5108. [파이썬 S/W 문제해결 기본] 7일차 - 숫자 추가 D3
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는 테스트 케이스 번호)를 출력한 뒤, 답을 출력한다.
[문제풀이]
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 5108. [파이썬 S/W 문제해결 기본] 7일차 - 숫자 추가
# 1 파이썬 insert 함수 풀이
T = int(input())
for tc in range(1, T + 1):
# 수열의 길이 N, 추가 횟수 M, 출력할 인덱스 번호 L
N, M, L = map(int, input().split())
lst = list(map(int, input().split()))
for _ in range(M): # 가변인자로 받기
lst.insert(*map(int, input().split()))
print('#{} {}'.format(tc, lst[L]))
|
이보게 클래스도 만들고 연결리스트로 풀어야지 ...
'코딩테스트 \파이썬\자바 > SWEA D3' 카테고리의 다른 글
[SWEA][D3]1208. [S/W 문제해결 기본] 1일차 - Flatten /파이썬/자바 (0) | 2020.12.30 |
---|---|
[SWEA] 5110. [파이썬 S/W 문제해결 기본] 7일차 - 수열 합치기 D3 파이썬 (0) | 2020.04.11 |
[SWEA][D3] 5099. [파이썬 S/W 문제해결 기본] 6일차 - 피자 굽기 D3 (0) | 2020.04.02 |
[SWEA][D3] 4676. 늘어지는 소리 만들기 D3 파이썬 (0) | 2020.03.11 |
[SWEA][D3] 1225.[S/W 문제해결 기본] 7일차 - 암호생성기 D3 파이썬 (0) | 2020.02.29 |