SWEA 5122 ์์ดํธ์ง
11299 ๋จ์ด ์์ดํธ์ง5122SWEA5122
๋ฌธ์ ์ถ์ฒ 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
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(SWEA 5122 ์์ดํธ์ง), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@wltn39/SWEA-5122-์์ดํธ์ง์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค