ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준][java] 이친수 2193번
    잡동사니 2022. 10. 9. 17:37

    bottom-up

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    
    public class Main {
    	static ArrayList<ArrayList<Long>> list = new ArrayList<>();
    	public static void main(String[] args) throws NumberFormatException, IOException {
    		// TODO Auto-generated method stub
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		int n = Integer.parseInt(br.readLine());
    		ArrayList<Long> list0 = new ArrayList<>();
    		list0.add(0l);
    		list.add(list0);
    		ArrayList<Long> list1 = new ArrayList<>();
    		list1.add(1l);
    		list.add(list1);
    		
    		for(int i = 2; i<n+1; i++) {
    			ArrayList<Long> list2 = new ArrayList<>();
    			for(int j = 0;j<list.get(i-1).size();j++) {
    				String str = list.get(i-1).get(j)+"";
    				if(str.charAt(str.length()-1)=='0') {
    					list2.add(Long.parseLong(str+"1"));
    					list2.add(Long.parseLong(str+"0"));
    					
    				}else {
    					list2.add(Long.parseLong(str+"0"));
    				}
    			}
    			list.add(list2);
    		}
    		System.out.println(list.get(n).size());
    	}
    	
    
    }
    

    결과 : 런타임 에러

    아마 Long.parseLong쪽에서 에러가 나지 않았나 싶다…

    top-down

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class 이친수2193 {
    	static long[] d = null;
    	public static void main(String[] args) throws NumberFormatException, IOException {
    		// TODO Auto-generated method stub
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		int n = Integer.parseInt(br.readLine());
    		d = new long[n+1];
    		d[0] = 0l;
    		d[1] = 1;
    		for(int i = 2; i<d.length; i++) {
    			d[i]=d[i-1]+d[i-2];
    		}
    		System.out.println(d[n]);
    	}
    	
    
    }
    

    이친수들을 구하지 않고, 개수만 구하는 방식으로 했더니 성공!

    댓글

Designed by Tistory.