๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/70129?language=java
ํ์ด
public class ์ด์ง๋ณํ๋ฐ๋ณตํ๊ธฐ {
public static void main(String[] args) {
int[] answer = solution("110010101001");
System.out.println(answer[0]);
System.out.println(answer[1]);
}
static public int[] solution(String s){
int[] answer = new int[2];
while(s.length() > 1){
int cnt = 0;
for(int i=0; i<s.length(); i++){
if(s.charAt(i) == '0') answer[1]++;
else cnt++;
}
s = Integer.toBinaryString(cnt);
System.out.println(s);
answer[0]++;
}
return answer;
}
}
์ด์ง๋ณํ์ ํ๋ ๋จ์ ๋ฌธ์ ์ด๋ค. toBinaryString ์ด๋ผ๋ ๋ฉ์๋๋ฅผ ์๊ณ ์๋ค๋ฉด ์ฝ๊ฒ ํ ์ ์์์ ๊ฒ์ด๋ค.
1. s์ ๊ธธ์ด๊ฐ 1์ด ๋ ๋๊น์ง ๋ฐ๋ณต์ ํด์ค๋ค.
2. ์ด์ง์๋ 1๊ณผ 0์ผ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๊ธฐ ๋๋ฌธ์ 0์ ๊ฐ์์ 1์ ๊ฐ์๋ฅผ ์ธ์ฃผ๋๋ก ํ๋ค.
3. 0์ ๊ฐ์๋ answer[1]์ ์ถ๊ฐํด์ฃผ๊ณ 1์ ๊ฐ์๋ 0์ ์์ค ๊ธธ์ด์ด๋ฏ๋ก 1์ฉ ์ฆ๊ฐ์์ผ์ค๋ค.
4. s์ cnt๋ฅผ ์ด์ง์๋ก ๋ณํํ ๊ฐ์ ๋ฃ๋๋ค.
5. ๋ณํ์ ํ๋ฒ ํ์ผ๋ฏ๋ก answer[0]์ด 1 ์ฆ๊ฐํ๋ค.
'๐๏ธ Algorithm > โฌ ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
โฌ [Programmers] [Java] [Level2] ์์ด ๋๋ง์๊ธฐ (0) | 2024.01.11 |
---|---|
โฌ [Programmers] [Java] [Level2] ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ (0) | 2024.01.07 |
โฌ [Programmers] [Java] [Level2] ์ต์๊ฐ ๋ง๋ค๊ธฐ (2) | 2024.01.03 |
โฌ [Programmers] [Java] [Level2] JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (1) | 2023.12.23 |
โฌ [Programmers] [Java] [Level2] ์ต๋๊ฐ๊ณผ ์ต์๊ฐ (0) | 2023.12.14 |