import sys
start = 'ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ'
mid = 'ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ'
end = ' ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ'
plus = [start, mid, end]
lst = list(sys.stdin.readline().strip() for i in range(3))
enc = list(plus[i].index(lst[i]) for i in range(3))
value = ((enc[0] * 21) + enc[1]) * 28 + (enc[2]) + 0xAC00
print(chr(value))
세계 각국의 언어를 한 방식으로 표현하기 위해 유니코드(Unicode)
라는 인코딩(Encoding) 방식을 사용한다.
초성 집합인 start
와 중성 집합인 mid
와 종성 집합인 end
에서 각각 입력으로 받는 문자들의 index들을 구해 enc
list에 넣는다.
마지막으로 환산 공식인 ((enc[0] * 21) + enc[1]) * 28 + (enc[2]) + 0xAC00
를 이용하여 유니코드 값을 계산하고, chr()
함수에 value
를 대입하여 유니코드 값에 해당하는 문자로 변환하여 출력한다.