[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด / ํŒŒ์ด์ฌ / Python / 2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‹ญ
Algorithm/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด / ํŒŒ์ด์ฌ / Python / 2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‹ญ

728x90
๋ฐ˜์‘ํ˜•

 

๐Ÿ’กsolutions )

๐Ÿ’ฌ ์ˆซ์ž 10๊ฐœ๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ๋‹ด์•„์„œ ๊ตฌ๋ถ„ํ•ด์ฃผ์—ˆ์Œ

๐Ÿ’ฌ ์ฃผ์–ด์ง„ s์—์„œ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ค๋ฉด result์— ๋ฐ”๋กœ ๋„ฃ์–ด์ฃผ๊ณ  ๋ฌธ์ž๊ฐ€ ๋‚˜์˜ค๋ฉด num์— ์ฐจ๋ก€๋Œ€๋กœ ์ž„์‹œ ์ €์žฅํ–ˆ๋‹ค๊ฐ€ num_dic ๋”•์…”๋„ˆ๋ฆฌ์— ์žˆ๋Š” ์ˆซ์ž๊ฐ€ ๋˜๋ฉด result์— ๋„ฃ์–ด์ฃผ๊ณ  num์€ ์ดˆ๊ธฐํ™”

 

๐Ÿ‘จ‍๐Ÿ’ปcode )

def solution(s):
    num_dic = {
        'zero':'0', 'one':'1', 'two':'2', 'three':'3', 'four':'4',
        'five':'5', 'six':'6', 'seven':'7', 'eight':'8', 'nine':'9'}
    
    result = ''
    num = ''
    for i in range(len(s)):
        tmp = s[i]
        if tmp.isdigit():
            result += tmp
        else:
            num += s[i]
            if num in num_dic:
                print(num)
                result += num_dic[num]
                num = ''   # num ์ดˆ๊ธฐํ™”
    
    return int(result)

๐Ÿ“Œdescription )

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด

๋„ค์˜ค์™€ ํ”„๋กœ๋„๊ฐ€ ์ˆซ์ž๋†€์ด๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋„ค์˜ค๊ฐ€ ํ”„๋กœ๋„์—๊ฒŒ ์ˆซ์ž๋ฅผ ๊ฑด๋„ฌ ๋•Œ ์ผ๋ถ€ ์ž๋ฆฟ์ˆ˜๋ฅผ ์˜๋‹จ์–ด๋กœ ๋ฐ”๊พผ ์นด๋“œ๋ฅผ ๊ฑด๋„ค์ฃผ๋ฉด ํ”„๋กœ๋„๋Š” ์›๋ž˜ ์ˆซ์ž๋ฅผ ์ฐพ๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ˆซ์ž์˜ ์ผ๋ถ€ ์ž

programmers.co.kr


๋ฌธ์ œ ์„ค๋ช…

๋„ค์˜ค์™€ ํ”„๋กœ๋„๊ฐ€ ์ˆซ์ž๋†€์ด๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋„ค์˜ค๊ฐ€ ํ”„๋กœ๋„์—๊ฒŒ ์ˆซ์ž๋ฅผ ๊ฑด๋„ฌ ๋•Œ ์ผ๋ถ€ ์ž๋ฆฟ์ˆ˜๋ฅผ ์˜๋‹จ์–ด๋กœ ๋ฐ”๊พผ ์นด๋“œ๋ฅผ ๊ฑด๋„ค์ฃผ๋ฉด ํ”„๋กœ๋„๋Š” ์›๋ž˜ ์ˆซ์ž๋ฅผ ์ฐพ๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ์ˆซ์ž์˜ ์ผ๋ถ€ ์ž๋ฆฟ์ˆ˜๋ฅผ ์˜๋‹จ์–ด๋กœ ๋ฐ”๊พธ๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

  • 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

 




๋ฐ˜์‘ํ˜•