본문 바로가기
[ 알고리즘 ]/오답노트

[ BOJ 오답노트 ] 2292 파이썬 : 벌집

by 불주먹고양이 2022. 1. 25.

2022 01 25

 

1. 틀린 기록

 

 

 

2. 원인 분석

- 일단 규칙은 알겠는데 어떻게 구현해야 할 지가 고민이었다.

- 이것 저것 써보다가 누적합으로 하나씩 증가하면서 벌집 개수를 구해야겠다고 생각했다.

- 가장 고민했던 것이 입력될 수 있는 가장 큰 값이 1,000,000,000인데 경계를 다 배열 안에 넣어두어야 하나...? 싶었다.

- 아~주 멍청한 생각이었다...ㅎ 그냥 while문으로 기준 값을 하나씩 늘리면 되는 것이었는데... 헤헤

 

 

 

3. 해결

- count 변수는 거쳐가야 하는 총 벌집의 개수이다.

- i의 값을 -1로 초기화 한 이유는 while 문이 시작되자 마자 +1 해줘야 하기 때문이다.

- middleSum은 누적합이다.

 

- 만약에 입력된 수가 누적합과 다음번 숫자의 합보다 작다면 누적합을 더해주고 다시 반복문을 실행한다.

- 누적합과 다음번 숫자의 합이 같은 경우에는 i에 2를 더해주고,

- 6처럼 두번째와 세번째 사이에 있는 경우에는 i에 1을 더해준다.

 

 

 

4. 배운 점

- 규칙을 파악한 것에서 식을 도출해본다.

- 누적합을 잘 활용하자.