개발자도전
[프로그래머스] 영어가 싫어요 본문
728x90
[문제]
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
제한사항
- numbers는 소문자로만 구성되어 있습니다.
- numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다.
- 1 ≤ numbers의 길이 ≤ 50
- "zero"는 numbers의 맨 앞에 올 수 없습니다.
[입출력 예]
| numbers | result |
| "onetwothreefourfivesixseveneightnine" | 123456789 |
| "onefourzerosixseven" | 14067 |
입출력 예 #1
- "onetwothreefourfivesixseveneightnine"를 숫자로 바꾼 123456789를 return합니다.
입출력 예 #1
- "onefourzerosixseven"를 숫자로 바꾼 14067를 return합니다.
[답]
풀이 1.

replaceAll 함수를 사용해서 문자를 숫자로 바꿔주었다.
그리고 answer의 형변환 시 Long.parseLong()으로 작성을 해주어야지 안그럼 1,3,9 케이스에서 오류가 난다.
그러나 이 코드는 가독성도 좋지 않고 코드가 길어져서 다시 작성해보았다.
풀이 2.

영어를 num의 배열에 넣어주고 for문으로 접근해서 replaceAll을 해주었다.
728x90
'프로그래머스 코딩 테스트' 카테고리의 다른 글
| [프로그래머스] 인덱스 바꾸기 (0) | 2023.04.04 |
|---|---|
| [프로그래머스] 대문자와 소문자 (0) | 2023.04.02 |
| [프로그래머스] 암호 해독 (0) | 2023.04.01 |
| [프로그래머스] 369게임 (0) | 2023.04.01 |
| [프로그래머스] 가까운 수 (0) | 2023.04.01 |
Comments