MapleStory Finger Point

[BOJ] #1568 - 새

2021. 6. 15. 17:34Problem Solving/Online Judge

 

1568번: 새

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

www.acmicpc.net

 

 

** 문제 유형

  • 순차 탐색

 

** 풀이

  1. N이 최대 1,000,000,000
    • 시간 복잡도 O(n^2)
  2. K가 반복적으로 증가하므로, 날아가는 새의 마리 수는 빠르게 증가
    • 등차수열로 실질적인 시간 복잡도는 약 O(√n)
  3. 따라서 문제에서 요구하는 대로 단순히 구현

 

n = int(input())
k = 1
cnt = 0

while n > 0: # 모든 새가 날아갈 때 까지
    if n < k:
        k = 1
    
    n -= k
    k += 1
    cnt += 1
    
print(cnt)

 

 

 

'Problem Solving > Online Judge' 카테고리의 다른 글

[BOJ] #1668 - 트로피 진열  (0) 2021.06.15
[BOJ] #1302 - 베스트셀러  (0) 2021.06.15
[BOJ] #1543 - 문서 검색  (0) 2021.06.15
[BOJ] #11004 - k번째 수  (0) 2021.06.15
[BOJ] #2751 - 수 정렬하기 2  (0) 2021.06.15