๋ชฉ์ฐจ
์ฌ์ฉ์ธ์ด)
python3
๋ฌธ์ )
๋ค์ค์ ํ๋ก๋๊ฐ ์ซ์๋์ด๋ฅผ ํ๊ณ ์์ต๋๋ค. ๋ค์ค๊ฐ ํ๋ก๋์๊ฒ ์ซ์๋ฅผ ๊ฑด๋ฌ ๋ ์ผ๋ถ ์๋ฆฟ์๋ฅผ ์๋จ์ด๋ก ๋ฐ๊พผ ์นด๋๋ฅผ ๊ฑด๋ค์ฃผ๋ฉด ํ๋ก๋๋ ์๋ ์ซ์๋ฅผ ์ฐพ๋ ๊ฒ์์
๋๋ค.
๋ค์์ ์ซ์์ ์ผ๋ถ ์๋ฆฟ์๋ฅผ ์๋จ์ด๋ก ๋ฐ๊พธ๋ ์์์
๋๋ค.
- 1478 → "one4seveneight"
- 234567 → "23four5six7"
- 10203 → "1zerotwozero3"
์ด๋ ๊ฒ ์ซ์์ ์ผ๋ถ ์๋ฆฟ์๊ฐ ์๋จ์ด๋ก ๋ฐ๋์ด์ก๊ฑฐ๋, ํน์ ๋ฐ๋์ง ์๊ณ ๊ทธ๋๋ก์ธ ๋ฌธ์์ด s๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. s๊ฐ ์๋ฏธํ๋ ์๋ ์ซ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ฐธ๊ณ ๋ก ๊ฐ ์ซ์์ ๋์๋๋ ์๋จ์ด๋ ๋ค์ ํ์ ๊ฐ์ต๋๋ค.
์ซ์์๋จ์ด
0 | zero |
1 | one |
2 | two |
3 | three |
4 | four |
5 | five |
6 | six |
7 | seven |
8 | eight |
9 | nine |
์ ํ์ฌํญ
- 1 ≤ s์ ๊ธธ์ด ≤ 50
- s๊ฐ "zero" ๋๋ "0"์ผ๋ก ์์ํ๋ ๊ฒฝ์ฐ๋ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- return ๊ฐ์ด 1 ์ด์ 2,000,000,000 ์ดํ์ ์ ์๊ฐ ๋๋ ์ฌ๋ฐ๋ฅธ ์ ๋ ฅ๋ง s๋ก ์ฃผ์ด์ง๋๋ค.
์ ์ถ๋ ฅ ์
sresult
"one4seveneight" | 1478 |
"23four5six7" | 234567 |
"2three45sixseven" | 234567 |
"123" | 123 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #3
- "three"๋ 3, "six"๋ 6, "seven"์ 7์ ๋์๋๊ธฐ ๋๋ฌธ์ ์ ๋ต์ ์ ์ถ๋ ฅ ์ #2์ ๊ฐ์ 234567์ด ๋ฉ๋๋ค.
- ์ ์ถ๋ ฅ ์ #2์ #3๊ณผ ๊ฐ์ด ๊ฐ์ ์ ๋ต์ ๊ฐ๋ฆฌํค๋ ๋ฌธ์์ด์ด ์ฌ๋ฌ ๊ฐ์ง๊ฐ ๋์ฌ ์ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์ #4
- s์๋ ์๋จ์ด๋ก ๋ฐ๋ ๋ถ๋ถ์ด ์์ต๋๋ค.
์ ํ์๊ฐ ์๋ด
- ์ ํ์ฑ ํ ์คํธ : 10์ด
๋์ ๋ต)
def solution(s):
sArr = ['zero','one','two','three','four','five','six','seven','eight','nine']
nArr = ['0','1','2','3','4','5','6','7','8','9']
for i in range(len(sArr)):
if (sArr[i] in s):
s = s.replace(sArr[i],nArr[i])
answer = int(s)
return answer
ํผ๋๋ฐฑ)
๋ฆฌ์คํธ 2๊ฐ๋ก ํ์ง ๋ง๊ณ ๋์ ๋๋ฆฌ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ด ๊น๋ํ๊ณ ์ข์์ ๊ฒ ๊ฐ๋ค.
num_dic = {"zero":"0", "one":"1", "two":"2", "three":"3", "four":"4", "five":"5", "six":"6", "seven":"7", "eight":"8", "nine":"9"}
def solution(s):
answer = s
for key, value in num_dic.items():
answer = answer.replace(key, value)
return int(answer)
๋ค๋ฅธ ํ์ด)
def solution(s):
eng = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
if s.isdigit(): # ์ซ์์ธ์ง ํ๋จํ๋ ํจ์
return int(s) # ์ซ์๋ผ๋ฉด ๋ฐ๋ก๋ฆฌํด
# ์ซ์๋ฉด ๋์ด๊ฐ๊ณ ๋ฌธ์์ด์ด๋ผ๋ฉด ๋ค์ ์ซ์๊ฐ ๋์ฌ๋๊น์ง ๋จ์ด๋ฅผ ์์ฑํ๋ค.
# ๋ฌธ์์ด์ด ์ด์ด์ ธ์์์๋ ์์ผ๋ฏ๋ก ํ๋จ์ด์ฉ ๋ฌธ์์ด์ ํฉ์น ๋๋ง๋ค eng๋ฐฐ์ด์ ์กด์ฌํ๋์ง ํ์ธํ๊ณ ์์ผ๋ฉด temp๋ฅผ ๋น๋ฌธ์์ด๋ก ์ด๊ธฐํ์ํจ๋ค.
answer = ''
temp = ''
for i in s:
if i.isdigit():
answer+=i
# ๋ฌธ์์ด์ด๋ฉด
else:
temp += i
if temp in eng:
answer += str(eng.index(temp))
temp = ''
return int(answer)
๋ค๋ฅธ ๋ถ์ ์ฝ๋์ธ๋ฐ isdigit() ํจ์๋ฅผ ์ฌ์ฉํด์ ์ซ์์ธ์ง ํ๋จ์ ํ๊ณ
์ซ์๋ผ๋ฉด ๋ฐ๋ก ์ฒจ๋ถํ๊ณ ,
๋ฌธ์์ด์ด๋ผ๋ฉด ๋ค๋ฅธ ๋ณ์์ ๋ฌธ์์ด์ ํฉ์น ๋ค์ ๊ทธ ๊ฒ์ ์ซ์๋ก ๋ณํํด์ฃผ๋
๊ทธ๋ฐ ๋ฐฉ์์ด์๋ค!
์ฒ์ ๋ณด๋ ํจ์๋ฅผ ์ด์ฉํด์ ํฅ๋ฏธ๋ก์ ๋ค.
isdigitํจ์๋ C/C++์์๋ ๊ฐ๊ฐ <ctype.h>/<cctype> ํค๋ํ์ผ์ ์ ์ธํด์ฃผ๋ฉด ์ฌ์ฉํ ์ ์๋ค!
๋ฌธ์ link)
'๐ฆ | ์ฝ๋ฉํ ์คํธ ์ฐ์ต > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค_LV1_์ง์ฌ๊ฐํ ๋ณ์ฐ๊ธฐ (0) | 2021.12.22 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค_Lv1_์ ๊ท ์์ด๋ ์ถ์ฒ (0) | 2021.12.22 |
๋๊ธ