๐ Problem Solving/Programmers
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด
๋ค์ค์ ํ๋ก๋๊ฐ ์ซ์๋์ด๋ฅผ ํ๊ณ ์์ต๋๋ค. ๋ค์ค๊ฐ ํ๋ก๋์๊ฒ ์ซ์๋ฅผ ๊ฑด๋ฌ ๋ ์ผ๋ถ ์๋ฆฟ์๋ฅผ ์๋จ์ด๋ก ๋ฐ๊พผ ์นด๋๋ฅผ ๊ฑด๋ค์ฃผ๋ฉด ํ๋ก๋๋ ์๋ ์ซ์๋ฅผ ์ฐพ๋ ๊ฒ์์ ๋๋ค. ๋ค์์ ์ซ์์ ์ผ๋ถ ์
programmers.co.kr
alpha = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
def solution(s):
start = 0
end = 1
answer = ""
while start < len(s):
if s[start].isdigit():
answer += s[start]
start = end
end += 1
continue
if s[start:end] in alpha:
answer += str(alpha.index(s[start:end]))
start = end
end += 1
else:
end += 1
return int(answer)
s = input()
print(solution(s))
ํด์ค
์นด์นด์ค ์ฑ์ฉ์ฐ๊ณํ ์ธํด์ญ์ ๋์๋ ๋ฌธ์ ๋ค. ๊ทธ ๋น์์๋ ๋ชปํ์๋๋ฐ ์ง๊ธ์ ๋๋ฌด๋ ์ฝ๊ฒ ํ์ด๋ฒ๋ ธ๋ค..๐ ์ฝ๋ฉํ ์คํธ๋ ์ญ์ ์ปจ๋์ ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ค.
์ธ๋ฑ์ค๋ start์ end๋ก ๋๋ ์ง๊ณ ์ซ์์ผ ๊ฒฝ์ฐ์๋ s[start], ์ํ๋ฒณ์ ํ์ธํ ๊ฒฝ์ฐ์๋ s[start:end]๋ก ํ์ธ์ ํ๋ค.
์ซ์์ด๊ฑฐ๋, ์ผ์นํ๋ ์ํ๋ฒณ์ด ์์ ๊ฒฝ์ฐ์๋ start๋ฅผ end๋ก end๋ end+1๋ก ๋ฐ๊ฟ์ค ํ, ๋ค์ ๋น๊ต๋ฅผ ํ๋ค.
์ผ์นํ๋ ์ํ๋ฒณ์ด ์์ ๊ฒฝ์ฐ์๋ end๋ฅผ ํ๋์ฉ ๋๋ ค๊ฐ๋ฉฐ ๋น๊ต๋ฅผ ํ๋ค.
'๐ Problem Solving > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ / Python (0) | 2021.07.26 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค-Lv3] ๋ฑ๊ตฃ๊ธธ / Python (0) | 2021.06.18 |
[ํ๋ก๊ทธ๋๋จธ์ค-Lv3] ์ด์ค์ฐ์ ์์ํ / Python (0) | 2021.06.18 |
[ํ๋ก๊ทธ๋๋จธ์ค-Lv3] ๊ฐ์ฅ ๋จผ ๋ ธ๋ / Python (0) | 2021.06.18 |
[ํ๋ก๊ทธ๋๋จธ์ค-Lv3] ๋คํธ์ํฌ / Python (0) | 2021.06.17 |