SWEA 5122数列の編集
問題のソースソフトウェアExpert Academy
問題の著作権はSW Expert Academyにあります.
問題の著作権はSW Expert Academyにあります.
質問の概要
- N개의 숫자로 구성된 최초수열이 M번의 편집을 거친 후 완성
- 완성된 수열에서 인덱스 L을 출력하는 프로그램을 작성하시오.
- 단, 인덱스 L이 존재하지 않으면 -1을 출력
입력:
1
5 3 4 (N, M, K 최초수열길이 5, 편집 3번, 인덱스 4 출력)
1 2 3 4 5 (최초수열)
I 2 7 (I 넣기 , 2번 인덱스 앞, 7 추가)
D 4 (D 삭제, 4번 인덱스)
C 3 8 (C 변경, 3번 인덱스를, 8로)
출력:
#1 5
プールアクセス
- if 문 활용해서 I, D, C 법칙 적용
- I -> insert, D -> pop, C -> '=' 활용
コード#コード#
for tc in range(1, int(input()) + 1):
N, M, L = map(int, input().split()) # N개의 숫자, M번 편집, 인덱스 L 출력
array = list(map(int, input().split())) # 최초 수열
flag = 1 # array의 요소가 없는 경우 0으로 바뀜
for _ in range(M): # M번 편집
rule = input().split() # 법칙 입력
# 법칙적용
if rule[0] == 'I':
array.insert(int(rule[1]),int(rule[2]))
elif rule[0] == 'D':
if not array:
flag=0
break
array.pop(int(rule[1]))
else:
array[int(rule[1])] = int(rule[2])
if len(array) > L: # 평범한 경우
if flag: # array에 요소가 있는 경우
print(f'#{tc} {array[L]}')
else: # array에 요소가 없는 경우
print(f'#{tc} -1')
else: # L이 array의 최대 인덱스보다 큰 경우
print(f'#{tc} -1')
1
5 3 4
1 2 3 4 5
I 2 7
D 4
C 3 8
#1 5
定義された変数値の決定
array
[1, 2, 7, 8, 5]
rule
['C', '3', '8']
print(N,M,L)
5 3 4
flag
1
Reference
この問題について(SWEA 5122数列の編集), 我々は、より多くの情報をここで見つけました https://velog.io/@wltn39/SWEA-5122-수열편집テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol