본문 바로가기

코테/프로그래머스

[프로그래머스] 숫자 문자열과 영단어(JAVA)

문제는 다음과 같다.

이 문제를 해결하기 위해 Character.isDigit() 메소드를 사용하였다. 

isDigit 메소드를 쓰면 해당 문자가 숫자인지 문자인지 파악할 수 있다. 문자이면 false 를 숫자이면 true 를 반환한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package algorithm.programmers.level1;
 
public class NumberStringAndWord {
 
    class Solution {
        public int solution(String s) {
            String notNumber = "";
            String answer= "";
 
            String[] wordArray = s.split("");
 
            for (int i = 0; i <wordArray.length ; i++) {
                if(!Character.isDigit(wordArray[i].charAt(0))){
                    notNumber += wordArray[i];
 
                    if(Character.isDigit(returnNumber(notNumber).charAt(0))){
                        answer += returnNumber(notNumber);
                        notNumber ="";
                    }
                    continue;
                }
                answer += wordArray[i];
            }
 
            return Integer.parseInt(answer);
        }
 
        public String returnNumber(String number) {
            String zero = "zero";
            String one = "one";
            String two = "two";
            String three = "three";
            String four = "four";
            String five = "five";
            String six = "six";
            String seven = "seven";
            String eight = "eight";
            String nine = "nine";
 
            switch (number) {
                case "zero":
                    return "0";
                case "one":
                    return "1";
                case "two":
                    return "2";
                case "three":
                    return "3";
                case "four":
                    return "4";
                case "five":
                    return "5";
                case "six":
                    return "6";
                case "seven":
                    return "7";
                case "eight":
                    return "8";
                case "nine":
                    return "9";
                default:
                    return number;
            }
        }
    }
}
 
cs