rueki
프로그래머스 LV2. 영어 끝말잇기 본문
728x90
반응형
이번 문제는 순수 구현에 관련된 문제인 것 같은 느낌이다.
def solution(n, words):
answer = [0, 0]
word_arr = [[] for _ in range(n)]
for idx, w in enumerate(words):
idx_o = idx % n
# 첫 단어는 그냥 넣기
if idx == 0:
word_arr[idx_o].append(w)
else:
word_arr[idx_o].append(w)
#순서가 0-1-2-0 ~ 이런식으로 반복
# 다시 첫 순서면 이전 순서는 마지막 숫자로 기입
if idx_o == 0:
prev = n-1
else:
prev = idx_o - 1
#끝말잇기가 안되는 경우
if word_arr[prev][-1][-1] != word_arr[idx_o][-1][0]:
answer = [idx_o + 1, len(word_arr[idx_o])]
return answer
# 중복단어 나오는 경우 위함
else:
for i in range(n):
#내 순서에 뱉은 말 중에는 찾을 필요 X
if i == idx_o:
continue
else:
if word_arr[idx_o][-1] in word_arr[i]:
answer = [idx_o + 1, len(word_arr[idx_o])]
return answer
return answer
728x90
반응형
'프로그래머스 연습' 카테고리의 다른 글
프로그래머스 SQL. 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2022.10.21 |
---|---|
프로그래머스 LV2. 숫자의 표현 (0) | 2022.10.08 |
프로그래머스 LV2. 땅따먹기 (0) | 2022.10.08 |
프로그래머스 LV2. 괄호회전하기 (0) | 2022.10.07 |
프로그래머스 LV2. 최대값과 최솟값 (0) | 2022.10.07 |