๐ŸŽฏ Coding Test

๋ฐฑ์ค€ 9009๋ฒˆ : ํ”ผ๋ณด๋‚˜์น˜

์—ฐ_์šฐ๋ฆฌ 2021. 10. 20. 23:07
๋ฐ˜์‘ํ˜•


30๋ถ„์ •๋„ ๊ณ ๋ฏผํ•ด๋ดค๋Š”๋ฐ ํ”ผ๋ณด๋‚˜์น˜ ๋ฌธ์ œ๋Š” ์ฒ˜์Œ์ด๋ผ ๊ฐ์ด ์•ˆ์žกํ˜€์„œ ๊ฒ€์ƒ‰ํ•ด๋ณด๊ณ  ํ’€์—ˆ๋‹ค

ํ”ผ๋ณด๋‚˜์น˜ ๋ฐฐ์—ด์„ ์•„์˜ˆ ๋งŒ๋“  ํ›„

์ž…๋ ฅ๊ฐ’๊ณผ ๋ฐฐ์—ด์˜ ๊ฐ’์„ ๋‚ด๋ฆผ์ฐจ์ˆœ ๋น„๊ตํ•˜๋ฉด๋œ๋‹ค.

 

* ๋‚˜๋Š” ์˜ˆ์ œ ์ž…๋ ฅ๊ฐ’์„ ๋งค๋ฒˆ ์ž…๋ ฅํ•˜๋Š”๊ฒŒ ๊ท€์ฐฎ์•„์„œ..(์˜ˆ์ œ์ž…๋ ฅ์ด 5๊ฐœ๋ฉด ์ •๋ง..)

ํ…Œ์ŠคํŠธ์—์„œ ํ™œ์šฉํ•˜๋ ค๊ตฌ ๋ฉ”์†Œ๋“œ๋ฅผ ๋‚˜๋ˆ„์–ด ์ž‘์„ฑํ•œ๋‹ค 

import java.util.ArrayList;
import java.util.Scanner;

class Fibonacci{
    int size = 0;
    int[] input;
    ArrayList<Integer> fibo = new ArrayList<Integer>();

    void init(){
        int k=2;
        fibo.add(0);
        fibo.add(1);
        while(fibo.get(k-1)<=1000000000){
            int temp = fibo.get(k-1) + fibo.get(k-2);
            fibo.add(k, temp);
            k++;
        }
    }

    void scan(){
        Scanner scan = new Scanner(System.in);
        size = scan.nextInt();
        input = new int[size];
        for (int i = 0; i < input.length; i++) {
            input[i] = scan.nextInt();
        }
    }

    void process(){
//        for (Integer integer : fibo) {
//            System.out.println(integer);
//        }
//        System.out.println(fibo.size());

        for (int i = 0; i < input.length; i++) {
            StringBuffer output = new StringBuffer("");
            for (int j = fibo.size()-1; j >= 1 ; j--) {
                if(input[i] >= 0){
                    if(input[i] >= fibo.get(j)){
                        input[i] = input[i] - fibo.get(j);
                        output.insert(0, " "+fibo.get(j));
                    }
                }
            }
            System.out.println(output.toString().trim());
        }

    }
}

public class Main {
    public static void main(String[] args) {
        Fibonacci f = new Fibonacci();
        f.init();
        f.scan();
        f.process();
    }
}
class MainTest {
    void scan_input(String inputed){
        InputStream in = new ByteArrayInputStream(inputed.getBytes());
        System.setIn(in);
    }

    @Test
    void test1() {
        Fibonacci f = new Fibonacci();
        f.init();
        scan_input("4\n" +
                "100\n" +
                "200\n" +
                "12345\n" +
                "1003");
        f.scan();
        f.process();
    }

}

 

๋ฐ˜์‘ํ˜•
  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ํŠธ์œ„ํ„ฐ ๊ณต์œ ํ•˜๊ธฐ
  • ๊ตฌ๊ธ€ ํ”Œ๋Ÿฌ์Šค ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ