반응형
이번 문제에는 단순한 문제인데 앞에서 순열 조합 문제를 풀어서 그런지 어렵게 생각하다가 시간이 많이 소요된 문제이다. 하다가 뭔가 아닌 것 같아서 다른 분의 코드를 참고했고 문제를 깨달을 수 있었다.
각 테케가 몇 번 나왔는지 출력해주는 문제로 입력한 문자에서 처음부터 끝까지 세 문자씩 묶어서 검사해주면 되는 문제였다. 어쩌다가 사고방식이 순열 조합으로 흘러가서 뻘짓을 하고 있었는지...;; 이래서 문제를 끝까지 잘 읽어봐야하는 것 같다.
다음과 같은 코드를 통해 통과하였다.
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번만 돌아준다는 점만 잘 고려하면 될 거 같다. 이때까지 딕셔너리 잘 안 사용했는데 이번에 사용해보니 편한 것 같다. 앞으로도 많이 사용할 것 같다. 나머지는 크게 언급할 부분이 없는 것 같다.
반응형
'IT' 카테고리의 다른 글
(주) 더블미 메타버스 서포터즈 활동 중간 후기 (0) | 2023.04.10 |
---|---|
코멘토 게임 시스템 기획 직무 부트 캠프 후기 (0) | 2023.03.03 |
[python/알고리즘] Softeer(소프티어) 근무 시간 풀이 (0) | 2023.02.14 |
FOXES 개인 정보 처리 방침 (0) | 2023.02.12 |
안드로이드 스튜디오 Generate Signed APK: Errors while building APK. You can find the errors in the 'Messages' view. / Execution failed for task ':app:lintVitalRelease'. 오류 해결 방안 (0) | 2022.09.25 |
댓글