정리
백준 1669번: 멍멍이 쓰다듬기 본문
백준 1669번: 멍멍이 쓰다듬기
1) X = Y인 경우는 0을 출력하면 된다
루트(Y - X)를 N이라 하자
2) N이 정수인 경우 (2 * N - 1)을 출력한다
- N이 정수인 경우는 1, 2, 3, 2, 1 cm 와 같이 계단식이기 때문이다
3) 루트(Y- X)가 정수가 아닌 경우
(Y - X) - (N의 정수부의 제곱)을 Z라 하자
Z가 의미하는 것은 경우(2)와 같이 계단식으로 증감을 하고 난 뒤의 Y와 X의 차이다. X와 Y가 같아져야 되는 최소의 일수를 구해야 하므로 Z만큼 X의 크기를 증가시키면 된다.
3-1) Z가 N보다 작거나 같다면 (2 * N)을 출력한다
- Z가 N보다 작다면 하루만 더 사용하면 된다
3-2) Z가 N보다 크면 (2 * N + 1)을 출력한다
- Z가 N보다 크면 1 ~ N까지의 수들 중 2개 합으로 Z를 만들어야 하므로 이틀을 더 사용해야 한다\
아래는 파이썬 코드이다
'Programming > 백준 BOJ' 카테고리의 다른 글
백준 13335번: 트럭 (0) | 2021.02.02 |
---|---|
백준 19699번: 소-난다! (0) | 2021.01.31 |
백준 1339번: 단어 수학 (0) | 2021.01.11 |
백준 1251번: 단어 나누기 (0) | 2021.01.11 |
백준 1654번: 랜선 자르기 (0) | 2021.01.05 |
Comments