Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발자도전

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

프로그래머스 코딩 테스트

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

도do 2023. 4. 4. 10:36
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
Comments