우당탕탕 개발일지
[해싱] Softeer level 2 비밀메뉴 (Python 파이썬) 본문
💡문제 링크
💡문제 분석 요약
1. 자판기의 특정 버튼을 m개 눌러서 비밀메뉴를 주문할 수 있다.
2. 자판기에는 총 k개의 버튼이 있다.
3. 사용자가 n개의 버튼을 눌렀을 때, 버튼의 배열 사이에 m개의 비밀메뉴 배열이 있으면 비밀메뉴 주문으로 인식하고 "secret"을 출력한다.
4. 비밀메뉴 배열이 2개 이상이라도 "secret"을 한 번만 출력한다.
5. 비밀메뉴 배열이 없으면 "normal"을 출력한다.
💡알고리즘 설계
1. m, n, k값을 받는다.
2. 비밀메뉴 배열 s,와 주문정보 배열 p를 받는다. count값을 0으로 초기화한다.
3. p의 인덱스 0부터 (n-m)까지 탐색한다. 앞에서부터 m개씩 원소를 탐색하며, 그 m개의 원소가 비밀메뉴 배열 s와 동일하면 count를 1로 바꾸고 "secret"을 출력한다.
4. 비밀메뉴 배열 s와 동일한 경우가 없으면, 즉 count값이 여전히 0이면 "normal"을 출력한다.
💡코드
import sys
m, n, k = map(int, input().split())
s = list(map(int, input().split()))
p = list(map(int, input().split()))
count = 0
for i in range(n-m+1):
if p[i:i+m] == s:
count = 1
print("secret")
break
if count == 0:
print("normal")
💡 느낀점 or 기억할정보
easy~
level 2라고 해서 다 같은 난이도가 아니었다.
이건 level 2중에서도 완전 쉬운 문제.
'알고리즘' 카테고리의 다른 글
[스택/큐] 프로그래머스 level 2 기능개발 (Python 파이썬) (0) | 2024.03.26 |
---|---|
[수학] Softeer level 1 위험한 효도 (Python 파이썬) (0) | 2024.03.22 |
[해싱] Softeer level 2 GBC (Python 파이썬) (1) | 2024.03.22 |
[정렬] Softeer level 2 금고털이 (Python 파이썬) (0) | 2024.03.17 |
[해싱] Softeer level 2 진정한 효도 (Python 파이썬) (0) | 2024.03.17 |