๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm

[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด

๋ฐ˜์‘ํ˜•

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด

https://programmers.co.kr/learn/courses/30/lessons/81301

๋ฌธ์ œ ์„ค๋ช…

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

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

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๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

Code

class Solution {
    public int solution(String s) {
        String[] nums_en = {"zero","one","two","three","four","five","six","seven","eight", "nine"};
        for(int i=0;i<10;i++){
            s = s.replace(nums_en[i],String.valueOf(i));
        }
        return Integer.valueOf(s);
    }
}

Code ์„ค๋ช…

๊ฐ๊ฐ ์ˆซ์ž์— ํ•ด๋‹นํ•˜๋Š” ์˜๋‹จ์–ด๋“ค์„ String ๋ฐฐ์—ด์„ ํ†ตํ•ด์„œ ์„ ์–ธํ•ด ๋†“๊ณ , ํ•˜๋‚˜์”ฉ ๋Œ์•„๊ฐ€๋ฉด์„œ replace ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ์˜๋‹จ์–ด๋ฅผ ์ˆซ์ž๋กœ ๋ฐ”๊พผ๋‹ค.

๋ฐฐ์šด์ 

String.replace("์›ํ•˜๋Š” ๋ฌธ์ž์—ด", "๋ฐ”๊ฟ€ ๋ฌธ์ž์—ด"): ๋ฌธ์ž์—ด์—์„œ ์›ํ•˜๋Š” ๊ฐ’๋งŒ ๊ณจ๋ผ์„œ ๋ฐ”๊พธ๋Š” ํ•จ์ˆ˜
์ฒ˜์Œ์—๋Š” ์–ด๋–ป๊ฒŒ ํ•  ์ง€ ๋ชฐ๋ผ์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ๋น„๊ตํ•˜๋ ค ํ–ˆ์ง€๋งŒ ์‹คํŒจํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์ €๋ฒˆ์— ํ’€์—ˆ๋˜ "๋ชจ์˜๊ณ ์‚ฌ" ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฐ์ด ๋‚˜์„œ
์ด ๋ฌธ์ œ๋„ ์ผ์ •ํ•œ ํŒจํ„ด์„ ๋ฐฐ์—ด์— ์„ ์–ธํ•˜๊ณ  ๋น„๊ตํ•˜๋ฉด ์–ด๋–จ๊นŒ ์ƒ๊ฐํ•ด ๋ณด์•˜๋‹ค.
๊ทธ๋ ‡๊ฒŒ ๋ฌธ์ž์—ด ๊ด€๋ จํ•ด์„œ ์ฐพ์•„๋ณด๋˜ ์ค‘ replace๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๊ณ , ์‚ฌ์šฉํ•˜์˜€๋”๋‹ˆ ์‰ฝ๊ฒŒ ํ’€๋ ธ๋‹ค.

๋ฐ˜์‘ํ˜•