💬 문제 설명
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 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) {
long answer = 0;
String[] number = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for (int i = 0; i < number.length; i++) {
numbers = numbers.replaceAll(number[i], String.valueOf(i));
}
answer = Long.parseLong(numbers);
return answer;
}
}
✏ 해결방법 & 배운점
`number` 배열에 영단어로 된 숫자들을 순서대로 배열에 저장하였고 배열을 순회하여 문자열에서 `number[i]`에 해당하는 영단어 숫자를 해당 숫자 `i` 로 모두 바꾸고 모든 영단어 숫자가 숫자로 변환된 numbers 문자열을 Long 타입으로 변환하여 answer에 저장하여 해결하였습니다.
'PS > 프로그래머스 입문 100제' 카테고리의 다른 글
[프로그래머스] LV.0 구슬을 나누는 경우의 수 - 자바 [78/100] (1) | 2024.07.01 |
---|---|
[프로그래머스] LV.0 공 던지기 - 자바 [77/100] (0) | 2024.07.01 |
[프로그래머스] LV.0 문자열 계산하기 - 자바 [75/100] (0) | 2024.06.28 |
[프로그래머스] LV.0 잘라서 배열로 저장하기 - 자바 [74/100] (0) | 2024.06.28 |
[프로그래머스] LV.0 이진수 더하기 - 자바 [73/100] (0) | 2024.06.28 |