정리

백준 1669번: 멍멍이 쓰다듬기 본문

Programming/백준 BOJ

백준 1669번: 멍멍이 쓰다듬기

H.J.Park 2021. 1. 13. 02:44

백준 1669번: 멍멍이 쓰다듬기

 

1669번: 멍멍이 쓰다듬기

동물원에서 막 탈출한 원숭이 한 마리가 세상구경을 하고 있다. 그러다 오늘도 어김없이 그의 영원한 라이벌 멍멍이를 만나게 되었다. 원숭이는 멍멍이를 쓰다듬고 싶었다. 하지만 원숭이는 멍멍이보다 키가 작기 때문에 멍멍이를 쓰다듬어줄 수 없다. 원숭이가 멍멍이를 쓰다듬으려면 둘의 키가 같아야 하기 때문이다.

www.acmicpc.net

 

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