프로그래머스 영어 끝말잇기 코드 및 해설 (파이썬)
2021. 4. 26. 15:04ㆍalgorithm
반응형
programmers.co.kr/learn/courses/30/lessons/12981
💡 index를 n으로 나눈 몫과 나머지를 활용했습니다.
주어진 words를 for 문으로 하나씩 보면서,
끝말잇기가 실패하는 3가지 경우,
(1) 끝말이 이어지지 않는 경우 (2) 한 글자인 단어를 말하는 경우 (3) 이전에 등장한 단어를 사용하는 경우에 해당하면 [번호, 차례]를 반환하도록 했습니다.
번호는 현재 index를 사람의 수인 n으로 나눈 나머지에 +1을 한 값, 차례는 현재 index를 n으로 나눈 몫에 + 1 을 한 값입니다.
모든 words를 돌아도 끝말잇기가 실패하지 않으면 [0,0]을 반환하도록 했습니다.
def solution(n, words):
for i in range(1, len(words)):
# (1) 끝말이 이어지지 않는 경우 (2) 한글자인 단어를 말하는 경우 (3) 이전에 등장한 단어를 사용하는 경우 -> 끝말잇기 실패
if words[i][0] != words[i-1][-1] or len(words[i]) == 1 or words[i] in words[:i]:
# 번호: i를 n으로 나눈 나머지 +1
# 차례: i를 n으로 나눈 몫 + 1
return [i%n+1, i//n+1]
return [0,0]
반응형
'algorithm' 카테고리의 다른 글
프로그래머스 여행경로 코드 및 해설 (파이썬) (0) | 2021.04.29 |
---|---|
프로그래머스 베스트앨범 코드 및 해설 (파이썬) (0) | 2021.04.27 |
프로그래머스 괄호 회전하기 코드 및 해설 (파이썬) (0) | 2021.04.26 |
프로그래머스 더 맵게 코드 및 해설 (파이썬) (0) | 2021.04.25 |
프로그래머스 방문 길이 코드 및 해설 (파이썬) (0) | 2021.04.21 |