Q7. 교육과정 설계(큐) : 제시된 필수과목의 수강 순서대로 수업계획이 되었는지 확인
입력 :
필수과목
N(1<=N<=10)
N개의 수업계획
출력 : N개의 YES 또는 NO 여부
[내가 쓴 코드]
from collections import deque
required = list(input())
n = int(input())
course = list()
for i in range(n) :
plan = deque(list(input()))
while plan :
pivot = plan.popleft()
for x in required :
if pivot == x and pivot not in course :
course.append(pivot)
if (course) == (required) :
result = "YES"
else :
result = "NO"
course.clear()
print("#%d %s" % (i+1, result))
[풀이코드]
from collections import deque
need = input()
n = int(input())
for i in range(n) :
plan = input()
dq = deque(need)
for x in plan :
if x in dq :
if x != dq.popleft() :
print("#%d NO" % (i+1))
break
else :
if len(dq) == 0 :
print("#%d YES" % (i+1))
else :
print("#%d NO" % (i+1))
큐를 사용하는 것이 좀 힘들었음 굳이 왜 사용하는지 어디에 사용해야 효율적인건지 고민이 많았고 그냥 아무곳이다 가져다 붙여넣었음,,,
Q7. 단어 찾기(해시) : 주어진 단어 중에서 시에서 사용되지 않은 단어 출력
입력 :
N(3<=N<=100)
N개의 단어
N-1개의 시에 쓰이진 단어
출력 : 쓰이지 않은 단어
[내가 쓴 코드]
n = int(input())
dictionary = dict()
for i in range(n) :
dictionary[input()] = False
for i in range(n-1) :
dictionary[input()] = True
print(*[k for k, v in dictionary.items() if v == False])
[풀이 코드]
n = int(input())
p = dict()
for i in range(n) :
word = input()
p[word] = 1
for i in range(n-1) :
word = input()
p[word] = 0
for key, val in p.items() :
if val == 1 :
print(key)
break
헐 코드 똑같음 왕 뿌듯하다
'Coding Test' 카테고리의 다른 글
[JavaScript] 2025 프로그래머스 코드챌린지 1차 예선 - 유연근무제 (1) | 2025.03.05 |
---|---|
[Section05] Python 알고리즘 문제풀이 09~10 (1) | 2024.06.14 |
[Section05] Python 알고리즘 문제풀이 05~06 (0) | 2024.05.28 |
[Section05] Python 알고리즘 문제풀이 03~04 (0) | 2024.05.14 |
[Section05] Python 알고리즘 문제풀이 01~02 (0) | 2024.05.07 |