최대 1 분 소요

1. 문제

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

  • 그리디 문제
// 문제
서로 다른 N개의 자연수의 합이 S라고 한다. 
S를  , 자연수 N의 최댓값은 얼마일까?

// 입력
첫째 줄에 자연수 S(1  S  4,294,967,295) 주어진다.

// 출력
첫째 줄에 자연수 N의 최댓값을 출력한다.

// 예제 입력 1 
200

// 예제 출력 1 
19


2. 핵심 아이디어

  • 1부터 차례대로 더해 s보다 커지면 그 개수에서 1을 뺌


3. Python 문제풀이

import sys
input = sys.stdin.readline

s = int(input())
n = 1

while n * (n + 1) / 2 <= s :
  n += 1
  
print(n - 1)


4. Java 문제풀이


댓글남기기