반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12981
문제 풀이
words를 순회하면서 딕셔너리에 하나씩 추가함.
딕셔너리 형태는
{'첫글자':[word1, word2, ...] , ... } 꼴로 만들어서 이전에 등장한 word를 찾을 때의 cost를 최소화 함..
words를 순회하면서 뒷글자를 ex_end로 저장해 끝말잇기 틀린 사람있으면 return
코드
def solution(n, words):
already_ = dict()
already_[words[0][0]] = [words[0]]
for i in range(1,len(words)):
cur_first = words[i][0]
ex_end = words[i-1][-1]
if cur_first != ex_end:
return [i%n+1, i//n +1]
if cur_first in already_:
if words[i] in already_[cur_first]:
return [i%n+1, i//n +1]
already_[cur_first].append(words[i])
else:
already_[cur_first] = [words[i]]
return [0, 0]
반응형
'알고리즘 > 프로그래머스 문제풀이' 카테고리의 다른 글
[프로그래머스] lv.2 N개의 최소공배수 풀이 (0) | 2023.11.19 |
---|---|
[프로그래머스] lv.2 구명보트 풀이 (1) | 2023.11.19 |
[프로그래머스] lv.2 카펫 풀이 (0) | 2023.11.19 |
[프로그래머스] lv.2 짝지어 제거하기 풀이 (1) | 2023.11.19 |
[프로그래머스] lv.2 자동차 평균 대여 기간 구하기 sql 풀이 (0) | 2023.11.19 |