# 사용자로부터 기술 사용 횟수 N을 입력받습니다.
N = int(input())
# 사용될 기술을 문자열로 입력받아 리스트로 변환합니다.
skill = list(str(input()))
# 정상적으로 발동된 기술의 수를 저장할 변수입니다.
num = 0
# 사전 기술을 추적하기 위한 리스트입니다.
used_list = []
# 기술 리스트를 순회합니다.
for i in skill:
# 'L' 또는 'S' 기술이 사용된 경우
if (i == 'L' or i == 'S'):
# 사용된 기술 리스트에 추가합니다.
used_list.append(i)
# 'K' 기술이 사용된 경우
elif (i == 'K'):
# 'S'가 사용된 적이 있는지 확인합니다.
if 'S' in used_list:
# 'S'를 사용한 것으로 간주하고 리스트에서 제거합니다.
used_list.remove('S')
# 정상 발동 카운트를 증가시킵니다.
num = num + 1
else:
# 'S'가 없으면 연계 실패로 종료합니다.
break
# 'R' 기술이 사용된 경우
elif (i == 'R'):
# 'L'이 사용된 적이 있는지 확인합니다.
if 'L' in used_list:
# 'L'을 사용한 것으로 간주하고 리스트에서 제거합니다.
used_list.remove('L')
# 정상 발동 카운트를 증가시킵니다.
num = num + 1
else:
# 'L'이 없으면 연계 실패로 종료합니다.
break
# '1'~'9' 기술이 사용된 경우
else:
# 독립적으로 사용 가능하므로 카운트를 증가시킵니다.
num = num + 1
# 최종적으로 정상 발동된 기술의 수를 출력합니다.
print(num)
주석 설명
각 기술의 종류에 따라 어떻게 처리되는지를 설명하는 주석을 추가했습니다.
used_list는 사전 기술(L, S)을 추적하기 위해 사용되며, 연계 기술(K, R)이 사용될 때 이 리스트에서 해당 기술을 제거합니다.
연계 기술이 성공적으로 발동되면 num을 증가시키고,
실패할 경우에는 루프를 종료합니다.
마지막으로 정상 발동된 기술의 수를 출력합니다.
추적에는 리스트를 사용할 것...;;
메모장 만들기 구현할 때도,,, 최근 저장한거에 대한 글 자체를 계속 쌓고쌓고 쌓다가
ctrl+z (실행취소)하면 저장 기준으로 스택에 쌓인것들 중 pop 한 게 메모장에 표시되겠끔 해야하는건가..;;
맞으면... 댓글 좀 달아주세요..이런 식으로도 활용이 가능한건지... ㅠㅠ
99클럽 코테 스터디 19일차 TIL + 오늘의 학습 키워드 : 힙 (2) | 2024.11.15 |
---|---|
99클럽 코테 스터디 18일차 TIL + 오늘의 학습 키워드 : 스택/큐 (2) | 2024.11.15 |
99클럽 코테 스터디 16일차 TIL + 오늘의 학습 키워드 : 스택/큐 (3) | 2024.11.12 |
99클럽 코테 스터디 15일차 TIL + 오늘의 학습 키워드 : 스택/큐 (2) | 2024.11.11 |
99클럽 코테 스터디 14일차 TIL + 오늘의 학습 키워드 : 큐 (0) | 2024.11.10 |