1024번
1024번 - 수열의 합 연속된 수이기 때문에 , 맨 처음 값이 k 라고 생각하면 그 다음은 k+1, k+2, .. 이런식으로 된다. 따라서 k , k+1 , k+2, ... 이런식으로 l 길이 이상을 찾아주면 된다. 예제로 예를 들면 n=18, l=2 이기 때문에 맨 처음에는 k , k+1 을 가지고 구해본다. 이게 길이가 2이므로.. 그러면 2k+1=18 이 되어야 하므로 k는 딱 나누어 떨어지지 않아서 구할 수 없다. (정수값을 구해야 하는게 문제의 조건이므로) 그래서 그 다음에는 구한 2k+1 에 그 다음 값 k+2 를 더하면 3k+3 이 되고 , 3k+3=18 이 되어야 한다. 딱 k의 값이 정수로 나오기 때문에 k, k+1, k+2 가 정답이 된다. 처음에 n-sum>=0 체크를 하지 않았다,..
더보기
3809. 화섭이의 정수 나열
3809. 화섭이의 정수 나열 나는 그냥 N이 1000개가 최대이기 때문에, 1000의 자리 수 이전에서 최소값이 무조건 발생한다고 생각했다. 즉, N=1000 이 되어 숫자가 1000개가 있을 때 숫자가 1000개가 생길 것이다. 그렇다고 할때 수가 1개인 예를 들어 0,1,2,3,4~,9 는 1000개가 나오게 된다. 수가 2개인 예를 들어 10,11,..,99 는 999개가 나오게 된다. 수가 3개인 100,101,...999 는 998개가 나오게 된다. 수가 4개인 1000,1001,...9999는 997개가 나오게 된다. 즉 수가 4개인 값들은 997개가 나와도 절대 1000~9999를 다 나타낼 수 없기 때문에 최소값이 무조건 발생하게 된다. 나는 이점을 이용해서 main 에서 for문을 4까..
더보기