- Published on
๐ ๏ธ[ํ๋ก๊ทธ๋๋จธ์ค]-๋คํธ ๊ฒ์
- Authors
- Name
- ์ก ์นํ
- @chihoon0415
๐๋ฌธ์ ์ค๋ช
์นด์นด์คํก ๊ฒ์๋ณ์ ํ๋ฐ๊ธฐ ์ ๊ท ์๋น์ค๋ก ๋คํธ ๊ฒ์์ ์ถ์ํ๊ธฐ๋ก ํ๋ค. ๋คํธ ๊ฒ์์ ๋คํธํ์ ๋คํธ๋ฅผ ์ธ ์ฐจ๋ก ๋์ ธ ๊ทธ ์ ์์ ํฉ๊ณ๋ก ์ค๋ ฅ์ ๊ฒจ๋ฃจ๋ ๊ฒ์์ผ๋ก, ๋ชจ๋๊ฐ ๊ฐ๋จํ ์ฆ๊ธธ ์ ์๋ค. ๊ฐ ์ ์ฌํ ๋ฌด์ง๋ ์ฝ๋ฉ ์ค๋ ฅ์ ์ธ์ ๋ฐ์ ๊ฒ์์ ํต์ฌ ๋ถ๋ถ์ธ ์ ์ ๊ณ์ฐ ๋ก์ง์ ๋งก๊ฒ ๋์๋ค. ๋คํธ ๊ฒ์์ ์ ์ ๊ณ์ฐ ๋ก์ง์ ์๋์ ๊ฐ๋ค.
- ๋คํธ ๊ฒ์์ ์ด 3๋ฒ์ ๊ธฐํ๋ก ๊ตฌ์ฑ๋๋ค.
- ๊ฐ ๊ธฐํ๋ง๋ค ์ป์ ์ ์๋ ์ ์๋ 0์ ์์ 10์ ๊น์ง์ด๋ค.
- ์ ์์ ํจ๊ป Single(S), Double(D), Triple(T) ์์ญ์ด ์กด์ฌํ๊ณ ๊ฐ ์์ญ ๋น์ฒจ ์ ์ ์์์ 1์ ๊ณฑ, 2์ ๊ณฑ, 3์ ๊ณฑ ( , , )์ผ๋ก ๊ณ์ฐ๋๋ค.
- ์ต์ ์ผ๋ก ์คํ์() , ์์ฐจ์(#)์ด ์กด์ฌํ๋ฉฐ ์คํ์() ๋น์ฒจ ์ ํด๋น ์ ์์ ๋ฐ๋ก ์ ์ ์ป์ ์ ์๋ฅผ ๊ฐ 2๋ฐฐ๋ก ๋ง๋ ๋ค. ์์ฐจ์(#) ๋น์ฒจ ์ ํด๋น ์ ์๋ ๋ง์ด๋์ค๋๋ค.
- ์คํ์()์ ์ฒซ ๋ฒ์งธ ๊ธฐํ์์๋ ๋์ฌ ์ ์๋ค. ์ด ๊ฒฝ์ฐ ์ฒซ ๋ฒ์งธ ์คํ์()์ ์ ์๋ง 2๋ฐฐ๊ฐ ๋๋ค. (์์ 4๋ฒ ์ฐธ๊ณ )
- ์คํ์()์ ํจ๊ณผ๋ ๋ค๋ฅธ ์คํ์()์ ํจ๊ณผ์ ์ค์ฒฉ๋ ์ ์๋ค. ์ด ๊ฒฝ์ฐ ์ค์ฒฉ๋ ์คํ์(*) ์ ์๋ 4๋ฐฐ๊ฐ ๋๋ค. (์์ 4๋ฒ ์ฐธ๊ณ )
- ์คํ์(*)์ ํจ๊ณผ๋ ์์ฐจ์(#)์ ํจ๊ณผ์ ์ค์ฒฉ๋ ์ ์๋ค. ์ด ๊ฒฝ์ฐ ์ค์ฒฉ๋ ์์ฐจ์(#)์ ์ ์๋ -2๋ฐฐ๊ฐ ๋๋ค. (์์ 5๋ฒ ์ฐธ๊ณ )
- Single(S), Double(D), Triple(T)์ ์ ์๋ง๋ค ํ๋์ฉ ์กด์ฌํ๋ค.
- ์คํ์(*), ์์ฐจ์(#)์ ์ ์๋ง๋ค ๋ ์ค ํ๋๋ง ์กด์ฌํ ์ ์์ผ๋ฉฐ, ์กด์ฌํ์ง ์์ ์๋ ์๋ค.
0~10์ ์ ์์ ๋ฌธ์ S, D, T, *, #๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ด ์ ๋ ฅ๋ ์ ์ด์ ์๋ฅผ ๋ฐํํ๋ ํจ์๋ฅผ ์์ฑํ๋ผ.
โ๏ธ๋ฌธ์ ํ์ด
์ฃผ์ด์ง ์
๋ ฅ ๋ณ์๋ค์ ๋ํด์, for๋ฌธ ์์ ๋ณ๋์ order
(์ผ์ข
์ ํ๋๊ทธ)๋ฅผ ๋๋ฆฌ๋ฉด์ ์
๋ ฅ๋ ์ ์๋ฅผ ๋ฐ๋ก๋ฐ๋ก ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ.
โจ๏ธํ์ด ์ฝ๋
def solution(dartResult):
answer = 0
point = []
order = -1
pivot = False
for i in range(len(dartResult)):
if pivot == True:
pivot = False
order += 1
continue
if dartResult[i] >= "0" and dartResult[i] <= "9":
if dartResult[i] == "1" and dartResult[i+1] == "0":
point.append(10)
pivot = True
continue
else :
point.append(int(dartResult[i]))
order += 1
continue
if dartResult[i] == "D" :
point[order] = point[order] ** 2
continue
if dartResult[i] == "T" :
point[order] = point[order] ** 3
continue
if order == 0 and dartResult[i] == "*":
point[order] *= 2
elif dartResult[i] == "*":
point[order-1] *= 2
point[order] *= 2
if dartResult[i] == "#":
point[order] *= -1
for i in point:
answer += i
return answer
์ถ์ฒ : ํ๋ก๊ทธ๋๋จธ์ค 2018 ์นด์นด์ค ๋คํธ ๊ฒ์ ๋ฌธ์