umilove98의 블로그

백준 2635 Java 자바 본문

algorithm/백준

백준 2635 Java 자바

umilove98 2021. 9. 9. 21:14
반응형

숫자 n을 입력받으면 두 번째 수를 1 부터 n 까지 순회하며 문제에서 제공된 방법으로 수 이어가기를 진행한다. 

각 회차마다 이어간 수들을 저장할 리스트를 만들어 보관하고 해당 회차의 리스트 크기가 가장 크다면 해당 회차의 리스트를 최대값의 리스트로, 해당 리스트 크기를 최대값으로 저장한다. 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
 
public class Q2635 {
 
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        int max = 0
        ArrayList<Integer> maxlist = new ArrayList<Integer>();    // 최대 개수의 숫자 조합을 저장할 리스트
        
        for(int i = 1; i <= n; i++) {
            ArrayList<Integer> nowlist = new ArrayList<Integer>();    // 현재경우의 숫자 조합을 저장할 리스트
            nowlist.add(n);                                        // n을 리스트의 1번 i를 리스트의 2번에 저장해두고 계산 시작 
            nowlist.add(i);
            int prev1 = n;
            int prev2 = i;
            
            while(true) {                                        // 결과가 0보다 큰 동안 앞앞 숫자에서 앞 숫자를 빼준값을 리스트에 저장 
                int temp = prev1 - prev2;
                if(temp>=0) {
                    nowlist.add(temp);
                }else {
                    break;
                }
                prev1 = prev2;                                    // 앞앞 숫자와 앞 숫자를 새로 지정
                prev2 = temp;
            }
            if(max < nowlist.size()) {                            // 이번 회차가 최대 개수의 숫자라면 해당 개수를 max에 저장하고 리스트의 숫자 조합을 maxlist에 저장
                max = nowlist.size();
                maxlist = nowlist;
            }
        }
        
        System.out.println(max);                                // 최대 값과 그 조합을 출력
        for(int i = 0; i < maxlist.size(); i++) {
            System.out.print(maxlist.get(i) + " ");
        }
 
    }
 
}
 
cs
반응형

'algorithm > 백준' 카테고리의 다른 글

백준 2303 Java 자바  (0) 2021.09.09
백준 4673 Java 자바  (0) 2021.09.09
백준 10797 Java 자바  (0) 2021.09.05
백준 2508 Java 자바  (0) 2021.09.05
백준 5543 Java 자바  (0) 2021.09.04