반응형
최근 codility 라는 재미있는 사이트를 알게 됐다.
문제를 풀면서 느낀건..... 난 멍청하고 무식하게 코딩하구나 이다 ㅠ_ㅠ...
인터넷 뒤져보니 똑똑한 사람 많구나 라는 걸 느꼈다.
성능 관련으로 시간복잡도, 공간복잡도라는게 있다는걸 이제서야 알게 됐다.
루프를 최소한으로 하고 메모리도 덜 잡아야 한다.
그리고 2진수나 비트 계산이 꽤나 유용하고 멋지다는 것도 알게 됐다.
(하지만 난 수학장애라서 ... 너무 힘들다.)
효율적으로 개발하도록 이제부터는 생각 좀 하고 살자.
공개적으로 코드 올리는 것도 부끄럽지만... 그냥 적어 본다.
(codility는 내가 푼 코딩을 다시 볼 수 없다.....)
Q. 바이너리 값에서 1과 1사이가 가장 큰 값을 찾아보세요.
N = 1041
A. 5
public int solution(int N){
String convS = Integer.toBinaryString(N);
int pos = 0;
int maxGap = 0;
while(convS.indexOf("1", pos) != -1){
if(convS.indexOf("1", pos) - pos > maxGap){
maxGap = convS.indexOf("1", pos) - pos;
}
pos = convS.indexOf("1", pos) + 1;
}
return maxGap;
}
반응형
'TechNical > JAVA' 카테고리의 다른 글
[codility] CyclicRotation (0) | 2018.01.12 |
---|---|
[codility] OddOccurrencsInArray (0) | 2018.01.12 |
ORA-01000 오류 발생, Statement 돌려막기 할 경우.. (1) | 2014.05.15 |
자바 다중채팅 프로그램(Thread, Socket, SynchonizedList) (4) | 2011.04.24 |
ArrayList와 LinkedList의 차이점. (0) | 2011.04.18 |
댓글