https://programmers.co.kr/learn/courses/30/lessons/81301?language=java
[문제 풀이]
입력으로 영단어 숫자와, 숫자가 주어졌을때 결과값을 숫자로 바꿔서 return 하도록 구현을 하면 되는 문제입니다.
바꾼다는 점에서 replaceAll 을 떠올렸고, 0 ~ 9 까지의 수를 변환하면 되기 때문에 주어진 영단어 10개를 배열로 만들고 for문을 진행을 하여 해당 단어를 해당 배열의 번호로 바꿔주면 풀리는 생각보다 간단한 문제 입니다.
[소스 코드]
class Solution {
public int solution(String s) {
String[] word = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
StringBuilder sb = new StringBuilder();
String ans = s;
for (int i = 0; i < word.length; i++) {
ans = ans.replaceAll(word[i], String.valueOf(i));
}
int answer = Integer.parseInt(ans);
return answer;
}
}
'프로그래머스' 카테고리의 다른 글
[프로그래머스 Level3] 여행경로 (JAVA) (0) | 2022.04.08 |
---|---|
[프로그래머스 Level2] 순위 검색(JAVA) - 2021 카카오 (0) | 2022.03.30 |
[프로그래머스 Level2] 괄호 변환 (JAVA) - 2020 Kakao (0) | 2022.02.06 |
[프로그래머스 Level2] 문자열 압축 (JAVA) - 2020 Kakao (0) | 2022.02.01 |
[프로그래머스 Level3] - 디스크 컨트롤러 (JAVA) (1) | 2022.01.17 |