본문 바로가기
코딩테스트/[python]정올

[python] 정올 1535 : 단어집합2

by o_oo 2022. 5. 8.

서론

오랜만에 코테 풀이. 오랜만이라 상대적 난이도가 쉬운 정올 비기너 단계.


문제

 

JUNGOL

 

www.jungol.co.kr

문제

스트링(문자열)​을 입력 한 후, 스트링(문자열)​을 구성하는 단어들 중, 

현재 단어목록에 포함이 되어있지 않은 단어를 단어목록의 가장 뒤에 추가하는 프로그램을 작성하시오.


(1) 처음에는 단어의 목록이 하나도 없다.
(2) 단어의 구분은 공백으로 한다.
(3) 스트링은 계속 입력받으며, 프로그램이 종료되지 않는 이상 기존의 단어들의 목록은 계속 유지된다.
(4) 목록에 단어가 없을 경우 단어를 목록의 가장 뒤에 추가하고, 있을경우 추가하지 않는다.
(5) 단어목록에는 입력되는 순서대로 저장된다.
(6) 알파벳 대.소문자는 구분된다(다르다).

입력형식

입력되는 스트링(문자열)의 최대 길이는 100이하이며, 스트링(문자열)​은 최대 10개 이하이다.

하나의 결과가 나온 후에도 계속 새로운 입력을 받다가, 스트링(문자열)​ 값이 "END"이면 프로그램을 종료한다.

출력형식

현재의 단어목록을 공백으로 구분하여 한줄에 한번씩 출력한다.

나의 풀이

result=[]
wordList=[]
while 1:
    t=input().split()
    if t[0]=='END': break
    
    for i in t:
        if i not in wordList:
            wordList.append(i)
    result.append(' '.join(wordList))

for z in result:
    print(z)

문제에서 조금 햇갈릴 수 있는 부분이 있던데, 완전히 동일한 문자열을 입력받는다면 어떻게 출력시키는지 몰랐다. 하지만 그냥 입력 횟수만큼 출력이었다.(10번 입력이면 같은 문자열 입력이여도 10번 출력.)

 

입력을 다 받고 END 이후에 결과를 출력하는 거라서 입력이 있을때마다 print를 위한 result에 출력값을 넣으며 풀었다.

 

전에 입력이 되었는지 여부는 wordList에 not in을 통해 확인한다.


+ 피드백과 새로운 풀이 방법은 언제든지 환영입니다!

댓글