반응형
문제분석
문제 목표: 1과 0으로 구성된 문자열을 조건에맞게 X번 적용할때 0이 지워진 갯수를 Y라할때
X 와 Y를 구하자.
조건:
1. 1과 0으로 된 문자열에서 0을 모두제거
2.제거된 문자열의 길이를 N 이라할때, N을 2진법으로 다시 표현
3. 윗 과정을 숫자 1이될때까지 반복
매우 쉬운문제다. 사고력없이 문제가 시키는대로만 하면 풀리는 문제다.
우선, 조건 1대로 문자열에서 0을 제거하는건 자바에선 replace("0" , "")를 사용한다.
그후, 제거된 문자열의 길이를 잰뒤, 2진법으로 바꾸는 로직을 시행한다.
->여기서 동시에 제거된 0의갯수를 세준다.
->또한, 조건을 적용할 카운트도 세준다.
이 과정을 1이될때까지 (While)반복시킨다.
그리고 마지막에 세준 X, Y값을 반환하면끝이다.
문제풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
class Solution {
public int[] solution(String s) {
int[] answer = new int[2];
int rec_cnt=0;
int zero_cnt=0;
while(!s.equals("1")){
String temp=s;
String str="";
s=s.replace("0","");
zero_cnt+=temp.length()-s.length();
int len=s.length();
while(len!=0){
str=len%2+str;
len/=2;
}
s=str;
rec_cnt++;
}
answer[0]=rec_cnt;
answer[1]=zero_cnt;
return answer;
}
}
|
cs |
반응형
'알고리즘 > 프로그래머스 Level2' 카테고리의 다른 글
[프로그래머스,자바] Level2: 하노이의 탑 (0) | 2022.07.02 |
---|---|
프로그래머스 JAVA Level2: 3XN 타일링 (0) | 2022.07.01 |
[프로그래머스,자바] Level2: 캐시 (0) | 2022.02.21 |
[프로그래머스 , 자바] Level2: 주식가격 (0) | 2022.02.20 |
[프로그래머스,자바] Level2: 영어 끝말잇기 (0) | 2022.02.13 |