ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • algorithm
    자바 알고리즘 - 영어가 싫어요
    2023. 9. 4. 12:34
    728x90

    문제 설명

    영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 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) {
            numbers = numbers.replace("one","1");
            numbers = numbers.replace("two","2");
            numbers = numbers.replace("three","3");
            numbers = numbers.replace("four","4");
            numbers = numbers.replace("five","5");
            numbers = numbers.replace("six","6");
            numbers = numbers.replace("seven","7");
            numbers = numbers.replace("eight","8");
            numbers = numbers.replace("nine","9");
            numbers = numbers.replace("zero","0");
    
            return Long.parseLong(numbers);
        }
    }

    문자열 치환하는 함수인 replace()를 이용해서 영어를 그에 해당하는 숫자 문자열로 바꿔준다음 Long.parseLong을 통해 StringLong으로 형변환하여 리턴한다.

     

    참고

    • 문자열변수.replace("A", "B") : 문자열의 모든 A를 B로 치환해주는 함수
    • 문자열변수.replaceAll("정규식","바꿀문자") : 정규식에 해당하는 문자를 바꿀문자로 치환해주는 함수
    • 문자열변수.replaceFirst("A","B") : 문자열에서 처음 나오는 A만 B로 치환해주는 함수
    728x90
Designed by Tistory.