๐Ÿ’ฏ CodingTest/Programmers

[Programmers] ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด

S.Honey 2022. 4. 11. 11:09

๋ฌธ์ œ ์‚ฌ์ดํŠธ

 

โ–ถ ์ฝ”๋“œ 

def solution(s):
    words = {'zero': '0', 'one':'1', 'two':'2', 'three':'3','four':'4', 'five':'5', 'six':'6', 'seven':'7','eight':'8','nine':'9'}


    temp = ''
    answer = ''
    for c in s:
        if c in words.values() :
            answer += c
        else:
            temp += c
   
        if temp in words.keys() :
            answer += words[temp]
            temp = ''
           
    return int(answer)

 

โ–ถ ๋ฌธ์ œ ํ’€์ด

1. ์ดˆ๊ธฐ `words` ๋”•์…”๋„ˆ๋ฆฌ์— ์ˆซ์ž์˜ ์˜๋ฌธํ‘œ๊ธฐ๋ฅผ ํ‚ค๋กœํ•˜๊ณ  ์ˆซ์ž(๋ฌธ์ž์—ด)๋ฅผ ๊ฐ’์œผ๋กœ ๊ฐ€์ง€๋Š” ๋”•์…”๋„ˆ๋ฆฌ๋กœ ์ดˆ๊ธฐํ™”
2. `temp` ๋ฌธ์ž์—ด๊ณผ `answer` ๋ฌธ์ž์—ด ์„ ์–ธ ๋ฐ ๊ฐ๊ฐ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์ดˆ๊ธฐํ™”
3. ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋“ค์–ด์˜จ `s` (๋ฌธ์ž์—ด) ๋‚ด๋ถ€์— `c` (ํ•œ๊ธ€์ž)๋ฅผ ๊ฐ€์ ธ์™€ `words.values()` ์— ์žˆ๋Š” ์ˆซ์žํ˜•ํƒœ์˜ ๋ฌธ์ž๋“ค๊ณผ ๋น„๊ตํ•ด ์žˆ๋Š”์ง€ ์ฒดํฌ
4. ๋งŒ์ผ ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ `answer` ๋ฌธ์ž์—ด์— ์ถ”๊ฐ€ํ•˜๊ณ  ์—†๋‹ค๋ฉด `temp` ๋ฌธ์ž์—ด์— ์ถ”๊ฐ€  
5. ์ดํ›„ `words.keys()`๋ฅผ ํ†ตํ•ด `key`๋“ค์„ ๊ฐ€์ ธ์™€ ํ•ด๋‹น `key`๋“ค ์ค‘ `temp`์— ๋ˆ„์ ๋œ ๋ฌธ์ž๊ฐ€ ์žˆ๋Š”์ง€ ๋น„๊ต
6. ๋งŒ์ผ `temp`์— ๋ˆ„์ ๋œ ๋ฌธ์ž์™€ ๋™์ผํ•œ ๋ฌธ์ž๊ฐ€ ์žˆ๋‹ค๋ฉด `answer`์— `words[temp]`๋กœ ๊ฐ’์„ ๋ฌธ์ž์—ด์— ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ , ์—†๋‹ค๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๊ณ„์† ์ง„ํ–‰
7. ๋ˆ„์ ๋œ `answer`๋ฌธ์ž์—ด์„ `int` ํ˜•์œผ๋กœ ํ˜•๋ณ€ํ™˜ ํ›„ ์ตœ์ข… ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜