[백준] 1789. 수들의 합 (Python)

yuuforest·2023년 9월 11일

이진탐색

목록 보기
1/9
post-thumbnail

백준 문제 풀이 - 이진탐색

📰 문제


문제 확인 🏃


💡 입출력 예제


200

>> 19

💬 풀이


🎵 첫번째 풀이

import sys

input = sys.stdin.readline
S = int(input())

def solution(start, end):
    answer = 0

    while start <= end:
        mid = (start + end) // 2

        if (mid * (mid + 1)) / 2 <= S:
            answer = mid
            start = mid + 1
        else:
            end = mid - 1

    return answer

print(solution(0, S))


✒️ 생각


여기서 포인트는 연속된 자연수의 합은 (mid * (mid + 1)) / 2 라는 것 😙

profile
🐥 Backend Developer 🐥

0개의 댓글