[백준 21968] 선린의 터를 [Java]

2025. 9. 17. 01:30PS 풀이/Baekjoon Online Judge

문제

http://boj.ma/21968

 

21968번: 선린의 터를

 

boj.ma

 


풀이

문제 요약

$3^K$꼴의 자연수가 최대 한 번씩 사용되어 만들어진 가장 작은 N번째 수를 구하자.

아이디어

모든 $3^K$에 대해 적절히 사용한다면, 3진수3진수로는 사실 모든 수를 표현할 수 있다. 입력받은 수를 표현하는 각 비트에 대해 3진수로 보고, 3진수 값을 구하면된다.

			// Solve
			long res = 0;
			long powerOf3 = 1;
			while (N > 0) {
				if ((N & 1) == 1) {
					res += powerOf3;
				}
				powerOf3 *= 3;
				N >>= 1;
			}

풀이 시간

10분


소스코드

https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/easy/21968.java

 

problem-solving/baekjoon-online-judge/easy/21968.java at main · rogi-rogi/problem-solving

Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.

github.com