본문 바로가기
Coding Test Practice

영어 끝말잇기

by Whiimsy 2024. 4. 4.

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

💡 생각

배열 읽으면서

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로 배열 안에 있는 지 검사하기

'Coding Test Practice' 카테고리의 다른 글

다음 큰 숫자  (0) 2024.04.08
카펫  (0) 2024.04.04
짝지어 제거하기  (0) 2024.04.04
구명보트  (1) 2024.04.04
N개의 최소공배수  (0) 2024.04.04