코딩테스트 영어 끝말잇기 문제풀이
프로그래머스 영어 끝말잇기(level 2) 문제풀이
def solution(n, words):
data = [words[0]]
cnt = 1
same = words[0][-1]
for i in range(1, len(words)):
cnt += 1
if words[i].startswith(same) and words[i] not in data:
same = words[i][-1]
data.append(words[i])
else:
if cnt%n == 0:
return [n, cnt//n]
else:
return [cnt%n, cnt//n+1]
return [0, 0]
일단 끝말잇기에 관해서는 startswith를 사용해서 맞는 지 그리고 data리스트에 값을 넣어가면서 그 값이 data리스트에 있는 값인지를 확인하면서 반복문을 돌렸다.
그리고 만약 아닐 시 두 경우를 나눠서 값을 리턴했는데
1. cnt%n == 0인 경우 번호가 0이 되므로 n으로 넣고, 횟수가 딱 맞으므로 c//n (나중에 보면 이해가 갈라나.. 설명을 못해서)
2. cnt%n != 0인 경우 번호가 딱 맞게 나옴, 그리고 차례가 cnt%n이 있으므로 cnt//n에 1을 더해줘야함
Author And Source
이 문제에 관하여(코딩테스트 영어 끝말잇기 문제풀이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kokodak/코딩테스트-영어-끝말잇기-문제풀이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)