티스토리 뷰
1. 문제
app.codility.com/programmers/lessons/1-iterations/
2. 설명
이진수 10001001이 있다면 1과 1사이의 0의 갯수중 최댓값을 구하는 문제.
입력받은 N을 2진수(String)로 바꾸고, 한 글자씩 비교해가면서 구했다.
Time Spent는 1M 나왔다.
3. 코드
class Solution {
public int solution(int N) {
// 10 -> 2
String N2 = Integer.toBinaryString(N);
int result = 0;
int count = 0;
for(int i=0; i<N2.length(); i++) {
if(N2.charAt(i)=='1') {
if(count!=0) // 사이값 구하기
result = result<count ? count : result;
count = 0;
continue;
}
// 1이 아니면 count++
count++;
}
return result;
}
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday