입력받은 숫자를 우리가 읽는소리로 출력하는 코드를 작성하시오. (입력받을 숫자 : 1 ~ 99999 사이)
ex)
2001 => 이천일
10500 => 만오백
5432 => 오천사백삼십이
<내가 제출한 코드>
public String solution(int num) {
String answer = "";
int remainder = 0, digit = 1;
HashMap<Integer, String> numberMap = new HashMap<Integer, String>();
HashMap<Integer, String> digitMap = new HashMap<Integer, String>();
numberMap.put(1, "");
numberMap.put(2, "이");
numberMap.put(3, "삼");
numberMap.put(4, "사");
numberMap.put(5, "오");
numberMap.put(6, "육");
numberMap.put(7, "칠");
numberMap.put(8, "팔");
numberMap.put(9, "구");
digitMap.put(10000, "만");
digitMap.put(1000, "천");
digitMap.put(100, "백");
digitMap.put(10, "십");
digitMap.put(1, "");
while (num > 0) {
remainder = num%10;
num = num/10;
if (remainder != 0) {
if (remainder == 1 && digit == 1) {
answer = "일";
}
else {
answer = numberMap.get(remainder) + digitMap.get(digit) + answer;
}
}
digit = digit * 10;
}
return answer;
}