[백준] 9625번: BABBA_java

응갱·2022년 12월 20일
0

백준

목록 보기
33/56
post-thumbnail

https://www.acmicpc.net/problem/9625

📎문제

상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다.

기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했다. 한 번 더 누르니 BA로 바뀌고, 그 다음에는 BAB, 그리고 BABBA로 바뀌었다. 상근이는 화면의 모든 B는 BA로 바뀌고, A는 B로 바뀐다는 사실을 알게되었다.

버튼을 K번 눌렀을 때, 화면에 A와 B의 개수는 몇 개가 될까?

📎입력

첫째 줄에 K (1 ≤ K ≤ 45)가 주어진다.

📎출력

첫째 줄에 A의 개수와 B의 개수를 공백으로 구분해 출력한다.

📎코드

import java.util.Scanner;

/*
k	A	B	string
0	1	0	A
1	0	1	B
2	1	1	BA
3	1	2	BAB
4	2	3	BABBA
5	3	5	BABBABAB

A > 다음 번에는 A의 개수만큼 A가 줄어들고 B가 늘어남
B > 다음 번에는 B의 개수만큼 A가 늘어나고 B는 변하지 않음.

 */
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int K = sc.nextInt();
        int A = 1;
        int B = 0;
        for(int i=0;i<K;i++){
            int tmp_a=A;
            int tmp_b=B;
            A-=tmp_a-tmp_b;
            B+=tmp_a;
        }
        System.out.println(A+" "+B);
    }
}
profile
🥔 한 덩이

0개의 댓글