[Softeer] 비밀메뉴 (python)

j-ij-i·2022년 12월 16일
1

알고리즘 문제풀이

목록 보기
5/10
post-thumbnail

문제 링크

link 📃 

문제 풀이

  1. 버튼 입력 배열을 모두 받은 다음, 버튼 입력 배열을 처음부터 하나씩 보면서 비밀 메뉴 조작의 첫번째와 같은지 비교한다.
  2. 비밀 메뉴 조작의 첫번째랑 똑같은 경우 비밀 메뉴 조작인지 여부를 판단하는데, for 문으로 비밀 메뉴 조작의 길이만큼 돌면서 일치할때마다 cnt를 증가시키고, cnt가 비밀 메뉴 조작의 길이와 최종적으로 일치하면 성공.

다른풀이 탐색

  • 두 배열을 문자열화 시켜서 if in 만 써서 4줄만에 풀수도 있었다.
  • M == N[i:i+m]을 써서 이렇게도 간단하게 문자열을 비교할 수 있었다.

해결 코드

Python

m,n,k = map(int,input().split())

s_arr = list(map(int, input().split()))

button_list = list(map(int, input().split()))

result = False

for i in range(len(button_list)):
    if s_arr[0] == button_list[i]:
        cnt = 0
        for j in range(len(s_arr)):
            if i+j >= len(button_list):
                break
            else:
                if s_arr[j] == button_list[i+j]:
                    cnt += 1
        if cnt == len(s_arr):
            result = True
            break
if result:
    print("secret")
else:
    print("normal")
profile
안녕하세요, 프론트엔드를 좋아하는 개발자 jiji입니다.

0개의 댓글