[백준] 9324 진짜 메시지

seulg1004·2021년 9월 14일
0

PythonAlgorisim

목록 보기
5/14

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

처음 생각했던 풀이

같은 알파벳이 3의 배수로 나올 경우 result를 false로, 아닐 경우 true로 한다.
=> 예외 : 12의 배수일 경우 3의 배수이지만 진짜 메세지가 된다.

풀이 방식

  1. 알파벳으로 인덱스 매기기
loc = ord(text[j]) - ord('A')

입력받은 값이 모두 알파벳 대문자이므로 저런 방식으로 인덱스를 매겨주면 편하다.

  1. 같은 알파벳이 3번 등장했을 때 예외 처리해주기
for i in range(len(text)):
    i = i + idx
    if i >= l:  # 메시지가 끝났으면 break
       break
    loc = ord(text[i]) - ord('A')
    check[loc] += 1  # 개수 더하기
    if check[loc] == 3:  # 같은 알파벳이 3번 등장했으면
    	if i == l - 1 or text[i] != text[i + 1]:  # 마지막 알파벳이거나 다음 알파벳과 지금 알파벳이 다르면
            b = False  # 반복문 종료
            break
        else:
           check[loc] = 0  # 개수 0으로 초기화
           idx += 1  # 건너뛸 인덱스 1 추가

0개의 댓글