๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด

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

by sh119 2024. 6. 24.

๐ŸŒฑ ๋ฌธ์ œ

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

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

  • 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

 

 

๐ŸŒฑ ๋ฌธ์ œ ํ’€์ด 01

class Solution {
        public int solution(String s) {
            int answer = 0;
            String str = "";
            int idx = 0;
            while(idx < s.length()){
                switch(s.charAt(idx)){
                    case 'z':
                        str += '0';
                        idx += 4;
                        break;
                    case 'o':
                        str += '1';
                        idx +=3;
                        break;
                    case 't':
                        idx++;
                        if(s.charAt(idx) == 'w'){
                            str += '2';
                            idx += 2;
                        }else{
                            str += '3';
                            idx += 4;
                        }
                        break;
                    case 'f':
                        idx++;
                        if(s.charAt(idx) == 'o'){
                            str += '4';
                            idx += 3;
                        }else{
                            str += '5';
                            idx += 3;
                        }
                        break;
                    case 's':
                        idx++;
                        if(s.charAt(idx) == 'i'){
                            str += '6';
                            idx += 2;
                        }else{
                            str += '7';
                            idx += 4;
                        }
                        break;
                    case 'e':
                        str += '8';
                        idx += 5;
                        break;
                    case 'n':
                        str += '9';
                        idx +=4;
                        break;
                    default:
                        str += s.charAt(idx);
                        idx++;
                        break;
                }
            }

            answer = Integer.parseInt(str);
            return answer;
        }
    }

 

๐ŸŒฑ ๋ฌธ์ œํ’€์ด 02

class Solution {
    public int solution(String s) {
        int answer = 0;

        String[] numbers = {"zero","one","two","three","four","five","six","seven","eight","nine"};

        for(int i=0; i<=9; i++){
            if(s.contains(numbers[i])){
                s = s.replace(numbers[i], Integer.toString(i));
            }
        }
        answer = Integer.parseInt(s);
        return answer;
    }
}