문제 설명
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
제한사항
- numbers는 소문자로만 구성되어 있습니다.
- numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다.
- 1 ≤ numbers의 길이 ≤ 50
- "zero"는 numbers의 맨 앞에 올 수 없습니다.
풀이
class Solution {
public long solution(String numbers) {
String[] num = {"zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine"}; // 1
for (int i = 0; i < num.length; i++) { // 2
numbers = numbers.replaceAll(num[i], String.valueOf(i));
}
return Long.parseLong(numbers);
}
}
- 각 단어에 대응하는 인덱스가 해당 숫자의 값이 되도록 배열 저장
- 배열을 순회하며 각 단어를 해당하는 숫자로 치환
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'알고리즘 & 코딩 테스트 > [Java]프로그래머스' 카테고리의 다른 글
| [프로그래머스_Java] Lv.0 가장 큰 수 찾기 (0) | 2024.05.20 |
|---|---|
| [프로그래머스_Java] Lv.0 개미 군단 (0) | 2024.05.20 |
| [프로그래머스_Java] Lv.0 문자열 계산하기 (0) | 2024.01.19 |
| [프로그래머스_Java] Lv.0 공 던지기 (0) | 2024.01.19 |
| [프로그래머스_Java] Lv.0 문자 개수 세기 (0) | 2024.01.18 |