Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Service
- 화학물질
- HTML
- 정보보안
- webhacking
- 웹 해킹 입문
- 화학물질불법유통온라인감시단
- 국정원
- MITRE ATT&CK
- Los
- PHP
- 불법유통근절
- 12기
- 도구모음
- 화학물질안전원
- 국가기록원
- nurisec
- 대외활동
- 불법유통
- UKPT
- 기타정보
- codeup
- 국가정보원
- 여행
- suninatas
- 연구모임
- 프로젝트
- 경기팀
- 파이썬
- UKPT level
Archives
- Today
- Total
agencies
[CodeUp] 2024 : 숫자를 한글로 변환 본문
문제 접근 방식
- 각 숫자가 들어가면 이를 한글로 변환할 수 있는 딕셔너리 선언
- 숫자가 입력을 하는데 '만' 출력을 방어하기 위해 입력된 수 중 4자리만 추출 (reverse_num)
- 0이 입력되면 영 출력 / 이것을 제외하고는 무시
- 글자들이 누적해서 저장
- 일억만 대신 일억이 표기될 수 있도록 입력된 값을 1억으로 나눴을때 나머지가 4자리 추출한 값보다 크다면 만 출력
(그렇지 않으면 : 4자리수인 경우) 만 출력하지 않음
a={1:'일', 2:'이', 3:'삼', 4:'사', 5:'오', 6:'육', 7:'칠', 8:'팔', 9:'구', 0:''}
num = input()
reverse_num = ''.join(reversed(num))
reverse_num = reverse_num[0:4]
reverse_num = ''.join(reversed(reverse_num))
d = len(num)
r = ''
for i in num:
if len(num) == 1 and i == '0':
r = '영'
if d == 10:
tmp = a[int(i)]+'십'
r += tmp
elif d == 9:
tmp = a[int(i)]+'억'
r += tmp
elif d == 8 and i != '0':
tmp = a[int(i)]+'천'
r += tmp
elif d == 7 and i != '0':
tmp = a[int(i)]+'백'
r += tmp
elif d == 6 and i != '0':
tmp = a[int(i)]+'십'
r += tmp
elif d == 5 and int(num)%100000000>int(reverse_num):
tmp = a[int(i)]+'만'
r += tmp
elif d == 4 and i != '0':
tmp = a[int(i)]+'천'
r += tmp
elif d == 3 and i != '0':
tmp = a[int(i)]+'백'
r += tmp
elif d == 2 and i != '0':
tmp = a[int(i)]+'십'
r += tmp
elif d == 1:
tmp = a[int(i)]
r += tmp
d -= 1
print(r)
'Ⅰ. 프로그래밍' 카테고리의 다른 글
파이썬 파일 입출력 연습 프로그램 (0) | 2024.04.02 |
---|---|
[CodeUp] 1405 : 숫자 로테이션 (0) | 2024.03.31 |
[CodeUp] 6131 : 일차 방정식 ax±b=c의 해 구하기 (0) | 2024.03.30 |
[CodeUp] 2054 : 지원이의 여자친구 (0) | 2024.03.29 |
[CodeUp] 4691 : 주사위 네 개 (0) | 2024.03.28 |