백준(Python) 풀이/수학

백준(Python) 1568번 새 풀이

개발윗미 2021. 10. 27. 11:07

Python으로 구현한 1568번 새 문제 풀이입니다.

 

https://www.acmicpc.net/problem/1568

 

1568번: 새

N마리의 새가 나무에 앉아있고, 자연수를 배우기 원한다. 새들은 1부터 모든 자연수를 오름차순으로 노래한다. 어떤 숫자 K를 노래할 때, K마리의 새가 나무에서 하늘을 향해 날아간다. 만약, 현

www.acmicpc.net


n = int(input())
result = 0

k = 1
while n > 0 :
  if n < k :
    k = 1
  n -= k
  k += 1
  result += 1

print(result)

 

while문을 내에 조건문을 통해 현재 나무에 앉아있는 새의 수(n)가 지금 불러야 하는 수(k)보다 작을 경우 

 

1부터 게임을 다시 시작하기 때문에 k를 1로 다시 갱신한다.

 

그렇지 않을 경우 입력받은 n에서 k를 빼주고, k는 다음 노래를 불러야 하기 때문에 1을 증가시킨다

 

또한, result 값을 1 증가시켜주고 반복문이 끝나면 최종적으로 result값을 출력한다.