728x90
문제
주어진 숫자에 맞는 순서의 한글 문자를 출력하라.
문제링크 : https://www.acmicpc.net/problem/11282
원리
한글 유니코드 저장공식(UTF-8)
(초성 * 21 + 중성) * 28 + 종성 + 0xAC00
주어진 숫자에서 초성, 중성, 종성 구하는 공식
int cho = N / (21*28);
int joong = (N % (21*28)) / 28;
int jong = (N % (21*28)) % 28;
나의 코드
private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
private static int N;
public static void main(String[] args) throws IOException {
N = Integer.parseInt(br.readLine());
/**
* 초성 : N을 21 * 28로 나눈 몫의 순서
* 중성 : N을 21 * 28로 나눈 나머지를 다시 28로 나눈 몫의 순서
* 종성 : N을 21 * 28로 나눈 나머지를 다시 28로 나눈 나머지의 순서
*/
int cho = N / (21*28);
int joong = (N % (21*28)) / 28;
int jong = (N % (21*28)) % 28;
char result = (char) (((cho * 21 + joong) * 28 + jong) -1 + 0xAC00);
System.out.println(result);
}
레퍼런스
유니코드 참고 링크 : https://needjarvis.tistory.com/644
728x90
'알고리즘 저장소 (일반방식과 나만의 풀이) > JAVA' 카테고리의 다른 글
[백준] no1987:알파벳 (0) | 2023.08.20 |
---|---|
[백준] no1267: 핸드폰 요금 - 구현 (진행중) (0) | 2023.08.11 |
[백준] no11779: 최소비용 구하기2 - 다익스트라 (0) | 2023.08.08 |
[백준] no9935: 문자열폭발 - Stack (0) | 2023.08.06 |
[백준] no17070: 파이프 옮기기1 - DP/DFS/BFS (0) | 2023.07.27 |