염딩코

백준 1789번 파이썬 문제 풀이 본문

알고리즘 PS/Python

백준 1789번 파이썬 문제 풀이

johnyeom 2022. 2. 17. 19:40

[문제] & [결과]

[해설]

이 문제는 서로 다른 값들의 합이 가장 많을 때, N의 값이 최대가 된다는 것을 알 수 있다.

그렇다면, 1부터 1씩 키운 값들을 더하면 되는 것이다.

1+2+3+4+5+ ... 이렇게 더한 값들이 N보다 작거나 같으면 된다.

1부터 N까지의 합은 밑에서 볼 수 있듯이 i*(i+1)/2로 작성할 수 있다.

마지막에 while반복문의 조건을 벗어나게 되었을 때 i의 값에서 1을 빼줘야 N보다 작거나 같은 조건을 만족하는 i값이 된다.