⌨️ Algorithms/백준

[Python] 백준 11283번_한글 2

monzheld 2023. 4. 24. 19:26

https://www.acmicpc.net/problem/11283

11283번: 한글 2

한글의 각 글자는 초성, 중성, 종성으로 이루어져 있고, 이 세 가지를 모아써서 한 글자를 나타낸다. 초성은 ㄱ, ㄲ, ㄴ, ㄷ, ㄸ, ㄹ, ㅁ, ㅂ, ㅃ, ㅅ, ㅆ, ㅇ, ㅈ, ㅉ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ로 총 19개가 있

www.acmicpc.net

 

  • 한글의 각 글자는 초성, 중성, 종성으로 이루어져 있고, 이 세 가지를 모아써서 한 글자를 나타냄
  • 초성은 ㄱ, ㄲ, ㄴ, ㄷ, ㄸ, ㄹ, ㅁ, ㅂ, ㅃ, ㅅ, ㅆ, ㅇ, ㅈ, ㅉ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ로 총 19개가 있고
  • 중성은 ㅏ, ㅐ, ㅑ, ㅒ, ㅓ, ㅔ, ㅕ ㅖ, ㅗ, ㅘ, ㅙ, ㅚ, ㅛ, ㅜ, ㅝ, ㅞ, ㅟ, ㅠ, ㅡ, ㅢ, ㅣ로 총 21개
  • 종성은 없음, ㄱ, ㄲ, ㄳ, ㄴ, ㄵ, ㄶ, ㄷ, ㄹ, ㄺ, ㄻ, ㄼ, ㄽ, ㄾ, ㄿ, ㅀ, ㅁ, ㅂ, ㅄ, ㅅ, ㅆ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ로 총 28개가 있음
  • 첫 번째 글자는 초성에서 ㄱ, 중성에서 ㅏ, 종성에서 없음을 합친 "가"가 되고, 두 번째 글자는 초성에서 ㄱ, 중성에서 ㅏ, 종성에서 ㄱ을 합친 "각"이 됨
  • 마지막 글자는 초성에서 ㅎ, 중성에서 ㅣ, 종성에서 ㅎ를 합친 "힣"이 됨
  • 초성과 중성, 그리고 종성을 합쳐서 만들 수 있는 글자의 개수는 총 19 * 21 * 28 = 11,172개
  • 한글이 주어졌을 때, 몇 번째 글자인지 구하기
  • 입력
    • 첫째 줄에 글자 하나가 주어짐
    • 주어지는 글자는 UTF-8로 인코딩 되어 있는 한글이며, 문제 설명에 나온 방법으로 만들 수 있음
  • 출력
    • 입력으로 주어진 글자가 몇 번째인지 출력
  • 시간 제한: 1초
  • 메모리 제한: 256 MB

 

"""
입출력 예시)

(예제 입력 1) 
가 -> 1

(예제 입력 2) 
힣 -> 11172

(예제 입력 3) 
백 -> 4146

(예제 입력 4) 
준 -> 7425
"""

 
 

## 의사코드 ##

# 첫 번째 문자인 '가'의 유니코드 값
# ord('가') -> 44032

# ord('문자') - 44031

 
 
 

통과한 코드

 

print(ord(input()) - 44031)

 
 
 

참고)

 
https://minipol.tistory.com/entry/%ED%95%9C%EA%B8%80-11172%EC%9E%90-ASCII%EC%95%84%EC%8A%A4%ED%82%A4-%EC%BD%94%EB%93%9C-%EA%B0%92

한글 11172자 ASCII(아스키) 코드 값

안녕하세요. 이번 자료는 일반인 분들한테는 그다지 필요가 없는 자료가 될 듯 하네요. 우리의 소중한 한글, 11172자에 대한 ASCII(아스키) 코드 값 엑셀파일입니다. 더불어 아래 이미지에서 보듯

minipol.tistory.com

 
https://wikidocs.net/81412

강의 08 유니 코드

유니 코드 유니 코드 문자셋 U+AC00 ~ U+D7AF 11184자 Hangul Syllables 예를 들면 한글 '가' 자는 유니코드에서 16진수로 AC00(10…

wikidocs.net

 
https://velog.io/@danbibibi/%EB%B0%B1%EC%A4%80-11283%EB%B2%88-%ED%95%9C%EA%B8%80

백준 11283번: 한글

문제 바로가기> 백준 11283번: 한글

velog.io