목록문제풀이 (155)
말랑한 하루
[ 문제 ] 더보기 문제 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? 입력 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. [ 조건 및 풀이 ] 이분탐색으로 간단하게 하는방법과, 처음수부터 더해가는 방법이있다. (1) 이분탐색의 경우 Sigma N = N x (N+1) / 2 공식이 필요하다. (2) 처음수부터 더해가는 경우 최대값이 나와야하므로 1부터 더해간다 했을때, 더해가는 값이 입력값보다 커지는경우 최대갯수라 할 수 있다. 더해가던값이 15인데 입력값이 17이라면, 1+2+3+4+5 -> 1+2+3+4+(5->7) 로 변하게되어 최대갯수라 판단할 수 있기 때문. [ 핵심소스코드 / C++ ] ll value = sqrt(i..
엄청나게 애먹은문제다, 굳이 이분탐색으로 풀지않아도 풀린다는 풀이가 많았다. 하지만 그런 풀이들이 대체적으로 이해가되지않았고... 많은 참고와 도움끝에 겨우 이해한 정도로 풀었다... Java를 배우면서 한번더 풀어보았다. 이분탐색에대해서 그래도 기초문제들을 많이풀었엇고, 그렇게 큰 조건이 주어지지 않은 문제였기 때문에 수월하게 풀엇다. [ 문제 ] 더보기 휴게소 세우기 성공분류 2 초 128 MB 1755 722 534 41.850% 문제 다솜이는 유료 고속도로를 가지고 있다. 다솜이는 현재 고속도로에 휴게소를 N개 가지고 있는데, 휴게소의 위치는 고속도로의 시작으로부터 얼만큼 떨어져 있는지로 주어진다. 다솜이는 지금 휴게소를 M개 더 세우려고 한다. 다솜이는 이미 휴게소가 있는 곳에 휴게소를 또 세울..