영어 끝말잇기

Whiimsy_dev·2022년 10월 12일
1

programmers

목록 보기
10/13
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/12981

💡 생각

배열 읽으면서

1) 잘못 이어서 틀린 사람
2) 같은 단어 중복해서 틀린 사람

찾으면 되는데
1번의 경우, 앞 단어의 마지막 글자와 뒷 단어의 첫 글자를 비교하면 되고
2번의 경우, 지금 인덱스 전까지의 배열에서 같은 단어가 존재하는지 count로 검사해 찾아보면 될 것 같다

가장 먼저 탈락하는 사람의 번호 : (걸린 인덱스) % n(사람 수) + 1
그 사람이 자신의 몇 번째 차례에 탈락하는지 : (걸린 인덱스) // n(사람 수) + 1

📖 내 코드

def solution(n, words):
    answer = 0
    for i in range(1, len(words)):
        if words[i-1][-1] != words[i][0] or words[:i].count(words[i]):
            answer = i
            break
            
    return [0, 0] if answer == 0 else [answer%n+1, answer//n+1]

📑 다른 사람의 풀이

def solution(n, words):
    for p in range(1, len(words)):
        if words[p][0] != words[p-1][-1] or words[p] in words[:p]: return [(p%n)+1, (p//n)+1]
    else:
        return [0,0]

count로 중복 단어의 개수를 찾는 게 아니라 word in words로 배열 안에 있는 지 검사하기

0개의 댓글