728x90
1. 문제
https://codeup.kr/problem.php?id=2024
숫자를 한글로 변환
양의 정수 n이 입력된다. ( 0 <= n <= 2,100,000,000)
codeup.kr
[출처 : 코드업(https://codeup.kr/)]
이번 문제는 입력된 숫자를 한글로 읽듯이 변환해 주는 문제입니다.
예) 123456 -> 일십이만삼천사백오십육
2. 해답
#include <stdio.h>
int main()
{
char number[9][4] = { "일", "이", "삼" , "사" , "오" , "육" , "칠" , "팔" , "구" };
char ciphers[10][4] = { "", "십", "백", "천" , "만" , "십" , "백" , "천" , "억" , "십" };
char Arr[11];
int count = 0;
int tmp = 0;
scanf("%s", Arr);
for (int i = 0; i < strlen(Arr); i++) {
if (Arr[i] == '0') {
if (strlen(Arr) - i - 1 == 8) {
if (count != 0) printf("억");
count = 0;
}
else if (strlen(Arr) - i - 1 == 4) {
if (count != 0) printf("만");
count = 0;
}
else if (strlen(Arr) == 1) printf("영");
continue;
}
tmp = (int)Arr[i] - 48;
count = (count * 10) + tmp;
if (i == strlen(Arr) - 1) printf("%s", number[tmp - 1]);
else {
printf("%s%s", number[tmp - 1], ciphers[strlen(Arr) - i - 1]);
if (strlen(Arr) - i - 1 == 8) count = 0;
else if (strlen(Arr) - i - 1 == 4) count = 0;
}
}
printf("\n");
return 0;
}
'프로그래밍 > CodeUp' 카테고리의 다른 글
CodeUp[Q_2026] : 16진수를 2진수로 변환하기 (0) | 2020.03.20 |
---|---|
CodeUp[Q_2025] : 좋은 날 (0) | 2020.03.19 |
CodeUp[Q_2023] : 엑셀의 열 순서 (0) | 2020.03.17 |
CodeUp[Q_2020] : 아로마 수 (0) | 2020.03.16 |
CodeUp[Q_2019] : 이차 방정식의 해 (0) | 2020.03.15 |