<문제 제시>
<문제설명>
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다.
문자열 numbers가 매개변수로 주어질 때,
numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
<예시 입출력>
<문제 해결 과정>
주어진 영단어를 숫자로 먼저 바꿔주는 데이터셋이 필요하였다.
zero, one... nine (0~9)까지 numbers.replace("zero", "0"); 로 모두 바꿔준다.
numbers = numbers.replace("zero", "0");
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");
기본 출력 요구 자료형이 long answer = 0;이기때문에
replace로 바꾼 숫자로된 문자들을 Long.parseLong을 통해 다시 바꿔주었다.
<전체코드>
public class hate_english {
public static long solution(String numbers) {
long answer = 0;
numbers = numbers.replace("zero", "0");
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");
// String 문자열을 Long 자료형으로 바꿔주는 작업
answer = Long.parseLong(numbers);
return answer;
}
public static void main(String[] args) {
String numbers = "onetwothreefourfivesixseveneightnine";
System.out.println(solution(numbers));
}
}
주어진 문자열이 길어질 수 있기때문에 Long 자료형으로 긴 길이의 숫자를 처리할 수 있도록 하였다.
문제링크)
https://school.programmers.co.kr/learn/courses/30/lessons/120894
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Algorithms > 프로그래머스' 카테고리의 다른 글
[프로그래머스] '약수 구하기' - Java (1) | 2023.05.02 |
---|---|
[프로그래머스] '합성수 찾기' - Java (0) | 2023.05.02 |
[프로그래머스] '팩토리얼' - Java (0) | 2023.05.01 |
[프로그래머스] '주사위의 개수' - Java (0) | 2023.04.30 |
[프로그래머스] '배열 회전시키기' - Java (0) | 2023.04.30 |