๐ŸŒžAlgorithm/๐Ÿ”ฅprogrammers

[programmers] ๋‹ค์Œ ํฐ ์ˆซ์ž

๋ฟŒ์•ผ._. 2026. 6. 19. 10:55
๋ฌธ์ œ
https://school.programmers.co.kr/learn/courses/30/lessons/12911
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก์˜ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 


< ๋‹ค์Œ ํฐ ์ˆซ์ž >

 

๋ฌธ์ œ ํ’€์ด (Java)

class Solution {
	public int solution(int n) {
		int answer = 0;

		String str = Integer.toBinaryString(n);
		int cnt = 0;
		for (int i = 0; i < str.length(); i++) {
			if (str.charAt(i) - '0' == 1) {
				cnt += 1;
			}
		}

		while (answer == 0) {
			n += 1;

			String temp = Integer.toBinaryString(n);
			int cnt2 = 0;
			for (int i = 0; i < temp.length(); i++) {
				if (temp.charAt(i) - '0' == 1) {
					cnt2 += 1;
				}
			}

			if (cnt == cnt2) {
				answer = n;
			}
		}

		return answer;
	}
}

 

n์„ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค 1์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ผ๋‹ค. ๋‹ค์Œ n์„ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ ๊ฐ’์˜ 1์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฒ˜์Œ n์„ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ–ˆ์„ ๋•Œ 1์˜ ๊ฐœ์ˆ˜์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์ผ์น˜ํ•  ๋•Œ์˜ ๊ฐ’์„ answer์— ์ €์žฅํ•œ ๋’ค ๋ฐ˜ํ™˜ํ•œ๋‹ค. 



 

์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์—ฐ์Šต, 
https://school.programmers.co.kr/learn/challenges