/* 영어가 싫어요
* 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다.
* 문자열 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 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 | public class programmer_0_23 { static String a1 = "onetwothreefourfivesixseveneightnine"; static String a2 = "onefourzerosixseven"; public long solution(String numbers) { long answer = 0; String[] ar = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; int[] num_ar = {0,1,2,3,4,5,6,7,8,9}; for(int i = 0; i < ar.length; i++){ if(a1.contains(ar[i])){ numbers = numbers.replace(ar[i], Integer.toString(num_ar[i])); } } answer += Long.parseLong(numbers); return answer; } public static void main(String args[]){ programmer_0_23 t = new programmer_0_23(); System.out.println("---------------------------------------"); System.out.println("result = " + t.solution(a1)); System.out.println("---------------------------------------"); // System.out.println("result = " + t.solution(a2)); // System.out.println("---------------------------------------"); } } | cs |