[프로그래머스/파이썬] Level 2 영어 끝말잇기
https://programmers.co.kr/learn/courses/30/lessons/12981
문제풀이
크게 두 가지의 조건을 생각해야한다.
1. 끝말잇기 규칙을 성립해야한다. (never->now는 X)
2. 나왔던 단어가 또 나오면 안된다. (tank 2번)
입출력 예시에서 힌트를 얻어 각 사람마다 딕셔너리로 구분지어주었다.
하나씩 차례대로 단어를 넣다가 규칙을 성립하지 않거나 이미 나왔던 단어이면 해당 단어의 [번호,차례]를 리턴한다.
ex)
...
{1: ['tank', 'wheel', 'mother'], 2: ['kick', 'land', 'robot'], 3: ['know', 'dream']}
소스코드
def solution(n, words):
people={i:[] for i in range(1,n+1)}
visited=[words[0]]
people[1].append(words[0])
for i in range(1,len(words)):
if words[i-1][-1]==words[i][0] and words[i] not in visited:
people[i%n+1].append(words[i])
visited.append(words[i])
#print(people)
else:
return [i%n+1,i//n+1]
return [0,0]
Author And Source
이 문제에 관하여([프로그래머스/파이썬] Level 2 영어 끝말잇기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bye9/프로그래머스파이썬-Level-2-영어-끝말잇기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)