2022 01 28

1. 틀린 기록

2. 원인 분석
- 일단 시간 제한이 0.15초인 것을 보고, 단순히 while문으로 값을 하나씩 증가해가면서 구하는 문제가 절대 아닐 것이라고 생각했다.
- 그러면서 계속해서 식을 만드려고 노력했는데 도저히 일반화가 안돼서... 여러가지 경우를 생각해보았는데 내가 가장 생각하지 못했던 부분은 바로 몫과 나머지에만 집착했던 것이었다.
- '//'와 '%' 연산만을 가지고 식을 만드려다 보니까 계속 생각이 안 났던 것 같다.
3. 해결

- 높이에서 올라가는 높이를 빼주고 그 나머지 값에 대해서 올라갔다가 내려가는 값으로 나누어서 얼만큼 올라가야 하는지 구했다.
- 그 값이 만약에 4.1번이 나온다면 네번을 올라갔다 내려갔다 한 후에 올라가는 작업을 했다는 것을 의미한다. 그렇기 때문에 ceil 함수로 올림 해주어서 5번으로 만들어주고, 마지막으로 올라가기만 하는 연산의 횟수인 1을 더해준다.
- 경우를 굳이 나눠서 // 연산자만을 고집하지 말고, / 연산자로 일반화 했어야 했다.
4. 배운 점
- 몫 연산자와 나머지 연산자는 매우 편리하다고 생각했었다. 물론 그렇지 않은 것은 아니지만, 그 연산자로만 연산을 하려다 보니 더 많은 경우를 나눠서 생각했어야 했다.
- 나머지 연산자를 더 잘 이용해보자.
'[ 알고리즘 ] > 오답노트' 카테고리의 다른 글
| [ BOJ 오답노트 ] 2231 파이썬 : 분해합 (0) | 2022.02.07 |
|---|---|
| [ BOJ 오답노트 ] 1929 파이썬 : 소수 구하기 (0) | 2022.01.29 |
| [ BOJ 오답노트 ] 2839 파이썬 : 설탕 배달 (0) | 2022.01.26 |
| [ BOJ 오답노트 ] 2775 파이썬 : 부녀회장이 될테야 (0) | 2022.01.25 |
| [ BOJ 오답노트 ] 2292 파이썬 : 벌집 (0) | 2022.01.25 |