๐ ์ถ์ฒ - 5430 - AC
๋ฌธ์ ์ค๋ช
์ ์์ด๋ ์ฃผ๋ง์ ํ ์ผ์ด ์์ด์ ์๋ก์ด ์ธ์ด AC๋ฅผ ๋ง๋ค์๋ค. AC๋ ์ ์ ๋ฐฐ์ด์ ์ฐ์ฐ์ ํ๊ธฐ ์ํด ๋ง๋ ์ธ์ด์ด๋ค. ์ด ์ธ์ด์๋ ๋ ๊ฐ์ง ํจ์ R(๋ค์ง๊ธฐ)๊ณผ D(๋ฒ๋ฆฌ๊ธฐ)๊ฐ ์๋ค.
ํจ์ R์ ๋ฐฐ์ด์ ์๋ ์์ ์์๋ฅผ ๋ค์ง๋ ํจ์์ด๊ณ , D๋ ์ฒซ ๋ฒ์งธ ์๋ฅผ ๋ฒ๋ฆฌ๋ ํจ์์ด๋ค. ๋ฐฐ์ด์ด ๋น์ด์๋๋ฐ D๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
ํจ์๋ ์กฐํฉํด์ ํ ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค. ์๋ฅผ ๋ค์ด, "AB"๋ A๋ฅผ ์ํํ ๋ค์์ ๋ฐ๋ก ์ด์ด์ B๋ฅผ ์ํํ๋ ํจ์์ด๋ค. ์๋ฅผ ๋ค์ด, "RDD"๋ ๋ฐฐ์ด์ ๋ค์ง์ ๋ค์ ์ฒ์ ๋ ์๋ฅผ ๋ฒ๋ฆฌ๋ ํจ์์ด๋ค.
๋ฐฐ์ด์ ์ด๊ธฐ๊ฐ๊ณผ ์ํํ ํจ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์
๋ ฅ
์ฒซ์งธ ์ค์ ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. T๋ ์ต๋ 100์ด๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ์ํํ ํจ์ p๊ฐ ์ฃผ์ด์ง๋ค. p์ ๊ธธ์ด๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
๋ค์ ์ค์๋ ๋ฐฐ์ด์ ๋ค์ด์๋ ์์ ๊ฐ์ n์ด ์ฃผ์ด์ง๋ค. (0 โค n โค 100,000)
๋ค์ ์ค์๋ [x1,...,xn]๊ณผ ๊ฐ์ ํํ๋ก ๋ฐฐ์ด์ ๋ค์ด์๋ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. (1 โค xi โค 100)
์ ์ฒด ํ ์คํธ ์ผ์ด์ค์ ์ฃผ์ด์ง๋ p์ ๊ธธ์ด์ ํฉ๊ณผ n์ ํฉ์ 70๋ง์ ๋์ง ์๋๋ค.
์ถ๋ ฅ
๊ฐ ํ
์คํธ ์ผ์ด์ค์ ๋ํด์, ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์ ์ ๋ฐฐ์ด์ ํจ์๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ, ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์๋ error๋ฅผ ์ถ๋ ฅํ๋ค.
์ ์ถ๋ ฅ ์
์์ ์ ๋ ฅ | ์์ ์ถ๋ ฅ |
---|---|
4 RDD 4 [1,2,3,4] DD 1 [42] RRD 6 [1,1,2,3,5,8] D 0 [] | [2,1] error [1,2,3,5,8] error |
์ด ๋ฌธ์ ๋ ๊ฐ๋จํด ๋ณด์์ง๋ง ์๊ทผํ ์๊ฐ์ด ์ข ๊ฑธ๋ฆฐ ๋ฌธ์ ๋ค.
Logic
1. ์ผ๋จ ๊ฐ๊ฐ ์ ๋ ฅ์ ๋ฐ๋๋ค. ๋ค๋ง ๋ฌธ์์ด์ ์ ๋ ฅ ๋ฐ์ ๋ ๊ธธ์ด๊ฐ 0์ด๋ผ๋ฉด ์ ๋ ฅ๋ง ๋ฐ๊ณ ๋น ๋ฆฌ์คํธ๋ฅผ ์์ฑํด์ค๋ค. ๊ธธ์ด๊ฐ 1 ์ด์์ด๋ผ๋ฉดsplit๊ณผ slicing
์ ์ด์ฉํด ์ ๋ ฅ์ ๋ฐ์์ค๋ค.
2. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ์ ์ฃผ์ด์ง ๋๋ก ์กฐ๊ฑด์ ๋ฌ์์ฃผ๋ฉด ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ค.
Key Point
์ฌ๊ธฐ์ ํฌ์ธํธ๋ 2๊ฐ์ง๊ฐ ์๋ค.
1. reverse๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๊ฒ ๋๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค. ๋ฐ๋ผ์Flag
๋ฅผ ๋๊ณ ์ถํ์ ํ๋ฒ๋ง ๋ณ๊ฒฝํด์ฃผ๋ ๊ฒ์ด ๋ ๋น ๋ฅด๊ฒ ์๋ํ๋ค.
2. list ๋ณด๋ค๋ deque๋ฅผ ์ฌ์ฉํด ๋ ๋น ๋ฅด๊ฒ ์ด์ฉํ๋ฉด ์๊ฐ ์ค์ด๋ ๋ฐ ๋์์ด ๋ ์ ์๋ค.
import sys
imput = sys.stdin.readline
def check(spelling, arr):
tmp = []
reverse = False
# ์ซ์๋ง ๊ตฌ๋ณํด ์ถ๊ฐํ๊ธฐ
# ์ด๋ ๊ฒ ํ๋ ๊ฒฝ์ฐ, 1์ ์๋ฆฌ ์ซ์๋ ํด๊ฒฐ์ด ๊ฐ๋ฅํ์ง๋ง 10์ ์๋ฆฌ ์ด์์ ์๊ฐ ๋ค์ด์จ๋ค๋ฉด error๊ฐ ๋ฐ์ํ๋ค.
for i in range(1, len(arr)-1, 2):
tmp.append(int(arr[i]))
# ์คํ ๋ง์ ๋ฐ๋ฅธ ์์
์์
for i in spelling:
if i == 'R':
if reverse:
reverse = False
else:
reverse = True
elif i == 'D':
if len(tmp) == 0:
print('error')
return
else:
if reverse:
tmp.pop()
else:
tmp.pop(0)
if reverse:
tmp.reverse()
return print(tmp)
T = int(input().strip())
for i in range(T):
spelling = list(map(str, input().strip()))
N = int(input().strip())
arr = input().strip()
check(spelling, arr)
import sys
from collections import deque
imput = sys.stdin.readline
def check(spelling, queue):
queue = deque(queue)
reverse = False
for i in spelling:
if i == 'R':
if reverse:
reverse = False
else:
reverse = True
elif i == 'D':
if len(queue) == 0:
print('error')
return
else:
if reverse: # R ํ์ ์ผ ๋
queue.pop()
else: # R ์ง์ ์ผ ๋
queue.popleft()
if reverse:
queue.reverse()
print("["+','.join(queue)+"]")
else:
print("["+','.join(queue)+"]")
T = int(input().strip())
for i in range(T):
spelling = list(map(str, input().strip()))
N = int(input().strip())
if N == 0:
input()
queue = []
else:
queue = deque(map(str, input().strip()[1:-1].split(',')))
check(spelling, queue)
TypeError: sequence item 0: expected str instance, int found ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
๋ชฐ๋๋๋ฐ join
์ ์ฌ์ฉํ ๋, list
์ ๋ชจ๋ element
๊ฐ ๋ค์ด ๋ฌธ์์ฌ์ผ ํ๊ณ , ์ ์๋ ์ค์๋ฉด ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
์ฐธ๊ณ ์๋ฃ ๐ฉ
<a href=https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=crm06217&logNo=221778003888>TypeError