미친 문제
정답률 19퍼
제가 푼 문제들중 가장 낮은 수치네요
진흙탕 싸움마냥 풀었습니다...
코드에 결함이 있으나 반례를 찾지 못해서...
어찌 됐든 풀긴 했습니다 허허
------------------------------------------
작성하다가 너무 찝찝해서 결국 반례를 찾아서 해결 했습니다 ㅎㅎ
처음 부분입니다
변수들과 5등분 했을 때, 파트별로 1이 몇개가 있는지 기억할 one 배열
인덱스의 범위를 기억해줄 part 배열을 만들어줍니다
그리고 n 값만큼 값들을 반영 해줍니다
그리고 배열을 축소 시켜줍니다
n값이 커질 수록 범위가 기하급수적으로 증가하는데
조단위까지 가는 반면
l과 r의 범위는 천만으로 제한되어 있기도 하고
시작과 끝 부분의 인덱스가 달라야
값을 구할 수 있도록 로직을 짠 이유도 있습니다
쉽게 말해서 자세히 들여다 보는 거죠
이제 반복을 하다가 포함된 인덱스가 달라지면 break를 내줍니다
그리고 제가 빠트렸던 부분이 이 부분에서
l과 r의 값이 같은 경우입니다
그럼 인덱스가 항상 같기 때문에
현미경 들여다보듯이 계속 배열들을 나누게 됩니다...
그래서 one 배열의 첫 번째가 1이 되면
멈추도록 했습니다
그리고 이제 l값과 r값을 재정의 해줍니다
start값과 end 값이 항상 끝이거나 처음일 수는 없으니
제대로된 범위를 설정하도록 값을 설정 해줍니다
그리고 for문을 열어서 0으로만 이루어진 인덱스인 2인 경우는 따로 처리 해주며
left, right 함수를 통해 계산을 해주고
범위 사이에 있는 1,3이 있는 경우 one의 값 그대로 realanswer에 더해줍니다
left와 right 함수 입니다
전달받은 leng의 길이까지만 문자열 배열을 만들어주고
start와 end 값을 각각 받아서
범위에서 1의 갯수를 리턴 해주면 끝입니다!
감사합니다 !!
'코딩 테스트 문제 > 프로그래머스' 카테고리의 다른 글
프로그래머스 Level 2 자바스크립트 과제 진행하기 연습문제 (0) | 2023.04.13 |
---|---|
프로그래머스 Level 2 자바 연속된 부분 수열의 합 연습문제 (0) | 2023.04.12 |
프로그래머스 Level 1 자바 달리기 경주 연습문제 (0) | 2023.04.07 |
프로그래머스 Level 1 자바스크립트 대충 만든 자판 연습문제 (0) | 2023.04.06 |
프로그래머스 Level 1 자바스크립트 추억 점수 연습문제 (0) | 2023.04.06 |