BOJ 14713(python) : 앵무새
우리집 그린칙코뉴어는 맨날 나를 물었다.
Problem
예제 입력 1
3
i want to see you
next week
good luck
i want next good luck week to see you
예제 출력 1
Possible
예제 입력 3
2
please
be careful
pen pineapple apple pen
예제 출력 3
Impossible
앵무새가 말한 단어들을 앞에서 부터 조합하여 최종 문장을 만들 수 있는가? 에 대한 문제
Before
이번 주차에 배웠던 큐, 덱, 스택, 우선순위 큐, 힙에대해서 꼭 알고 가면 좋을 듯 하다.
큐와 덱이 뭐예요??
우선순위 큐와 힙, 이진트리는 뭘까요?
Solution
앵무새가 말한 단어들을 queue나 List에 집어 넣음
n개의 앵무새가 말을 함으로 2차원 리스트로 집어 넣는다.
bird = []
for _ in range(n):
bird.append(list(map(str,sys.stdin.readline().split()))
답을 만들 수 있는지 for문을 돌면서 모든 앵무새의 0번째 원소들을 체크한다.
for item in dap:
correct = False
for idx in range(n):
if len(bird[idx]) != 0:
if item == bird[idx][0]:
bird[idx].pop(0)
correct=True
break
if not correct:
break
전체소스
import sys
bird = []
dap = list()
n = int(sys.stdin.readline())
for _ in range(n):
bird.append(list(map(str,sys.stdin.readline().split())))
dap = list(map(str,sys.stdin.readline().split()))
for item in dap:
correct = False
for idx in range(n):
if len(bird[idx]) != 0:
if item == bird[idx][0]:
bird[idx].pop(0)
correct=True
break
if not correct:
break
left = 0
for line in bird:
left += len(line)
if correct and left==0:
print("Possible")
else:
print("Impossible")
Author And Source
이 문제에 관하여(BOJ 14713(python) : 앵무새), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cksgodl/BOJ-14713python-앵무새저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)