Informatica Online Judge

  한글 입력 [2384 / 0950]

Time Limit(Test case) : 1000(ms)
Number of users who solved : 1   Total Tried : 1


The Champion of this Problem (C++) : N/A
My Best Submission (C++) : N/A

[34th 정승민(gs16099)]
Writer ID : [gs16099]

Background

한글은 자모음을 조합하여 하나의 글자를 완성하는 문자이다. 입력된 알파벳 문장을 한글 자모로 변환하여 글자로 묶은 뒤, 연속된 한글 글자 사이를 하이픈 ‘-’ 으로 나누고 다시 알파벳으로 변환하여 출력한다.
예를 들면, ‘rkddkwl’ 은 ‘강아지’이므로 ‘rkd-dk-wl’ 로, ‘QjRnrl’ 은 ‘뻐꾸기’이므로 ‘Qj-Rn-rl’ 로 바꾼다.

한글에는 자음 30개, 모음 21개가 존재한다.
키보드에서 한 개의 알파벳에 대응되는 자모음은 다음과 같다.
ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ (자음 19개)
ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅛㅜㅠㅡㅣ (모음 14개)

키보드에서 두 개의 알파벳에 대응되는 자모음은 다음과 같다.
ㄳㄵㄶㄺㄻㄼㄽㄾㄿㅀㅄ (자음 11개)
ㅘㅙㅚㅝㅞㅟㅢ (모음 7개)

한글의 글자는 초성, 중성, 종성으로 구성되어 있으며, 각각에 들어갈 수 있는 글자는 다음과 같다.
ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ (초성 19개)
ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ (중성 21개)
(x)ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ (종성 27 + 1개)
(종성에는 ㄸ, ㅃ, ㅉ을 사용할 수 없다.)

위에서 설명한 모든 자모음은 ‘ㄱ’, ‘ㅗ’, ‘ㄳ’, ‘ㅚ’ 와 같이 단독으로 글자를 구성할 수 있다.

Input

1000글자 이하의 알파벳, 공백, 숫자, 문장 부호를 포함한 문장이 입력된다. Q, W, E, R, T, O, P 이외의 대문자 알파벳은 입력되지 않는다. 입력의 마지막엔 줄바꿈 기호가 입력된다.

Output

입력된 문장에 하이픈을 규칙에 맞춰 추가한 후 출력한다.

IO Example

입력1
rkddkwl 2akflrk dlTek.

출력1
rkd-dk-wl 2ak-fl-rk dlT-ek.

해설1
강아지 2마리가 있다.

입력2
rkfqrnpfrWnlqtQhofg

출력2
rkfq-rnpfr-Wnlqt-Qhofg

해설2
갋궭쮮뾇

입력3
r rt rtk rtr k kr krk krt hk hkd

출력3
r rt r-tk rt-r k k-r k-rk k-rt hk hk-d

해설3
ㄱ ㄳ ㄱ사 ㄳㄱ ㅏ ㅏㄱ ㅏ가 ㅏㄳ ㅘ ㅘㅇ

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]