본문 바로가기
IT

[알고리즘/백준] 2684번 동전 게임 Python 파이썬

by 배애앰이 좋아 2023. 2. 21.
반응형

 

이번 문제에는 단순한 문제인데 앞에서 순열 조합 문제를 풀어서 그런지 어렵게 생각하다가 시간이 많이 소요된 문제이다. 하다가 뭔가 아닌 것 같아서 다른 분의 코드를 참고했고 문제를 깨달을 수 있었다.

 

 

각 테케가 몇 번 나왔는지 출력해주는 문제로 입력한 문자에서 처음부터 끝까지 세 문자씩 묶어서 검사해주면 되는 문제였다. 어쩌다가 사고방식이 순열 조합으로 흘러가서 뻘짓을 하고 있었는지...;; 이래서 문제를 끝까지 잘 읽어봐야하는 것 같다.

 

다음과 같은 코드를 통해 통과하였다.

 

import sys
input = sys.stdin.readline

P = int(input())

for i in range(P):
    check = {"TTT": 0, "TTH": 0, "THT": 0, "THH": 0, "HTT": 0, "HTH": 0, "HHT": 0, "HHH": 0}
    coin_list = input()
    for j in range(38):
        check[coin_list[j:j+3]] += 1
    for k, v in check.items():
        print(v, end=' ')
    print()

 

검사를 40번 해주는게 아닌 3개씩 묶어서 검사하니 마지막 2글자를 뺀 38번만 돌아준다는 점만 잘 고려하면 될 거 같다. 이때까지 딕셔너리 잘 안 사용했는데 이번에 사용해보니 편한 것 같다. 앞으로도 많이 사용할 것 같다. 나머지는 크게 언급할 부분이 없는 것 같다.

반응형

댓글