본문 바로가기
Algorithm

[구현/수학] 백준 9625 BABBA - Python

by jangThang 2022. 2. 5.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    9625번: BABBA

    상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했

    www.acmicpc.net

     

     

     

    2. 문제 풀이

    A -> B -> BA -> BAB -> BABBA

     맨 처음 A가 주어지고, 버튼을 누를 때마다 위와 같은 규칙으로 변환됩니다. 모든 B는 BA로 바뀌고, A는 B로 바뀌는 규칙입니다. K번 눌렀을 때 A와 B의 개수를 구해야 합니다.

     

    2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학

     

    [Algorithm] 단골 1번 문제, 구현 / 수학

    [ Contents ] 1. 구현  단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하

    star7sss.tistory.com

    B -> BA
    A -> B

     A, B의 개수만 구하면 됩니다. 버튼을 누를 때마다 B만큼 A의 개수가 늘어나고, 누르기 전 A만큼 B의 개수가 늘어납니다.

     

     

     

    3. 코드

    K = int(input())
    a = 1 #맨 처음 A 하나
    b = 0
    for i in range(K):
        preA = a
        # B -> BA
        a += b
        # A -> B
        a -= preA
        b += preA
    print(a, b)

    B -> BA로 추가된 A는 B로 변경되면 안됩니다. 누르기 이전의 A만 B로 변경해줍니다.

     

     

    star가 되고나서 Tistory

    반응형

    댓글