프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제

제출한 코드
class Solution {
public int solution(String s) {
String[] arr = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
for (int i = 0; i < arr.length; i++)
s = s.replace(arr[i], Integer.toString(i));
return Integer.parseInt(s);
}
}
풀이
처음에는 Map을 사용하는 방식으로 접근했었는데, 생각보다 복잡하고 막막해서 다른 사람들의 풀이를 찾아봤다.
2차원 배열을 사용한 사람도 있고, 1차원 배열을 2개 선언해서 푼 사람도 있었는데, 그 중에서 위와 같은 방식으로 간결하게 푼 사람이 있길래 코드를 참고했다.
핵심은 replace() 메서드를 사용하는 것이다.
먼저 영단어에 해당하는 내용들을 String 배열로 선언한다.
이후 for문을 통해 해당 배열의 인덱스의 영단어를 s 에서 찾아서 해당 영단어의 숫자 버전으로 replace 해주면 아주 간단하게 풀 수 있는 문제였다.
'프로그래머스' 카테고리의 다른 글
| [프로그래머스] 42748번 - K번째수 [Java] (0) | 2026.05.13 |
|---|---|
| [프로그래머스] 12915번 - 문자열 내 마음대로 정렬하기 [Java] (0) | 2026.05.12 |
| [프로그래머스] 12926번 - 시저 암호 [Java] (0) | 2026.05.08 |
| [프로그래머스] 12930번 - 이상한 문자 만들기 [Java] (0) | 2026.05.04 |
| [프로그래머스] 68935번 - 3진법 뒤집기 [Java] (0) | 2026.04.30 |