본문 바로가기

Problem Solving/코딩 인터뷰 완전분석

비트 뒤집기

반응형

어떤 정수가 주어졌을때 이 정수의 비트 하나를 0에서 1로 바꿀 수 있다. 이때 1이 연속으로 나올 수 있는 가장 긴 길이를 구하라.


1) 정수 20이 주어짐 


10100 


2) 길이 3 출력



3) 풀이 순서


    1. STEP


 - ArrayList에 0과1의 길이를 오른쪽 부터 0의 길이 부터 번갈아 리스트에 저장


[ 2,1,1,1,27 ]


10100


기본적인 & 연산자와 쉬프트 연산자 이용 카운터값을 리스트에 저장



2. STEP


   리스트에서 가장 긴 길이를 갱신해가며 반환


[ 2,1,1,1,27 ]


0을 기준으로 1로 바꿔야 하기 때문에 


리스트의 인덱스 0,2,4번째의 짝수 순으로 판단 반복 







 

반응형

'Problem Solving > 코딩 인터뷰 완전분석' 카테고리의 다른 글

2진수를 문자열로  (0) 2018.12.29
4.6 후속자  (0) 2018.12.15
4.5 BTS 검증  (0) 2018.12.15
4.4 균형 확인  (0) 2018.12.15
루프 발견 구현  (0) 2018.12.01