본문 바로가기

프로그래머스(Java)/Level 0

[프로그래머스] 영어가 싫어요

728x90

코드 힌트

  1. index와 동일한 영어 숫자를 저장한 배열 생성
    • 배열 numArr를 생성하여 인덱스와 동일한 숫자를 영어로 저장합니다. 예를 들어, numArr[0]은 "zero", numArr[1]은 "one" 등으로 설정합니다. 이 배열을 사용하여 숫자를 나타내는 문자열을 찾아내고 교체할 수 있습니다.
  2. replaceAll() 사용하기
    • numbers 문자열에서 각 영어 숫자를 대응하는 숫자로 교체합니다. replaceAll() 메서드를 사용하여 문자열 내의 각 영어 숫자를 해당 숫자로 변환합니다. 예를 들어, "zero"를 "0"으로, "seven"을 "7"로 바꿉니다.
  3. Long 타입으로 변환
    • 모든 영어 숫자를 숫자로 변환한 후, 최종적으로 numbers 문자열을 long 타입으로 변환합니다. Long.parseLong() 메서드를 사용하여 문자열을 숫자형으로 변환하고 반환합니다.

 


정답은 더보기 클릭

더보기
class Solution {
    public long solution(String numbers) {
        // 숫자와 대응되는 문자열 배열
        String[] numArr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        
        // 문자열에서 숫자를 나타내는 문자열을 숫자로 교체
        for (int i = 0; i < 10; i++) {
            // numArr 배열의 각 문자열을 해당 숫자로 교체
            numbers = numbers.replaceAll(numArr[i], "" + i);
        }
        
        // 최종적으로 변환된 숫자 문자열을 long 타입으로 파싱하여 반환
        return Long.parseLong(numbers);
    }
}
728x90