N입력으로 양의 정수 N이 입력되면 2개 이상의 연속된 자연수의 합으로 정수 N을 표현하는 방법의 가짓수를 출력하는 프로그램을 작성
만약 N=15이면
7+8=15
4+5+6=15
1+2+3+4+5=15
와 같이 총 3가지의 경우가 존재한다.
< 입력 >
15
< 출력 >
3
import java.util.Scanner;
public class Inflearn29 {
public int solution(int N,int A[]) {
int answer = 0;
int sum =0;
int lt =0;
for(int rt=0; rt<N/2+1; rt++) { // 1 ~ 8
sum += A[rt];
if(N == sum) {
answer ++;
}
while(sum>=N) {
sum -= A[lt++];
if(sum == N) {
answer ++;
}
}
}
return answer;
}
public static void main(String[] args) {
Inflearn29 inflearn29 = new Inflearn29();
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt(); // 정수 입력 -> 15
int[] A = new int[N];
for(int i=0; i<N/2+1; i++){ // 0 ~ 8
A[i] = i+1; // 배열에 1,2,3,4,5,6,7,8 저장
}
System.out.println(inflearn29.solution(N,A));
}
}
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의
자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성
www.inflearn.com
'Java' 카테고리의 다른 글
[ JAVA ] BufferedReader , StringTokenizer, StringBuilder 을 사용하는 이유 (0) | 2023.08.12 |
---|---|
#14 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 올바른 괄호 (0) | 2023.08.11 |
#12 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 매출액의 종류 (2) | 2023.07.26 |
#11 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 학습 회장 ( Hash ) (0) | 2023.07.22 |
#10 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 최대 길이 연속 부분 수열 (0) | 2023.07.22 |