본문 바로가기

수열2

[백준] 9461번 파도반 수열 JAVA (자바) 풀이 문제 9461번 (DP) : 첫 삼각형은 정삼각형으로 변의 길이는 1  다음과 같은 과정으로 정삼각형을 계속 추가한다   가장 긴 변의 길이를 k라 할 때, 변 길이가 k인 정삼각형을 추가  파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이  P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다.  P(N)을 구하는 프로그램을 작성하시오  [입력] :  첫째 줄에 테스트 케이스의 개수 T    각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다 (1 ≤ N ≤ 100)   [출력] :  각 테스트 케이스마다 P(N)을 출력 [설명] DP 알고리즘: 이미 계산된 결과는 별도의 메모리 영역에 저장하여 다시 계산하지 않음으로서 수행 시간 단축시키는 .. 2024. 6. 30.
[백준] 2003번 수들의 합2 JAVA (자바) 풀이 문제 2003 N개의 수로 된 수열 = A[1], A[2], …, A[N] 수열의 i ~ j번째 수까지의 합 = A[i]+ … + A[j] = M이 되는 경우의 수 [입력] : 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000) : 다음 줄에는 A[1], A[2], …, A[N] (공백으로 분리 & 각각의 A[x]는 30,000을 넘지 않는 자연수) [출력] : 경우의 수 출력 [참고] 기준숫자를 하나 잡고 합이 M될 때까지 for문 돌리기 check(j) = 시작 숫자 일단 j를 입력받으면 바로 이전 숫자들과 합부터 계산 수열 합이 M이 되면 count하고 for문 break 수열 합이 M을 넘어서면 바로 for문 break [코드] import java.io.*; i.. 2024. 4. 11.