-
[프로그래머스] 영어 끝말잇기알고리즘 2023. 6. 28. 15:56728x90
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12981
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 접근
1. 이 문제는 문제를 천천히 따라가면 된다.
2. words에서 단어를 하나씩 뽑는다
3. check라는 리스트를 만들고 len(check) == 0이면, word를 넣어주고, 길이가 0이 아니라면 check리스트의 가장 마지막단어의 가장 마지막 문자와 word의 첫번째 문자와 비교를 해서 같다면 넣어주고 틀리다면, 사람수, 차례를 증가시켜 종료시켜 준다
4. 단어마다 사람 수는 증가하는데 사람수(ppl) == n+1 이라면, 한바퀴 돈거니까 ppl = 1, turn += 1해준다!!
3. 풀이
def solution(n, words): ans = [0,0] check = [] turn = 1 ppl = 0 while len(words) != 0: word = words.pop(0) if word not in check: if len(check) == 0: check.append(word) else: if check[-1][-1] == word[0]: check.append(word) else: ppl += 1 if ppl == n+1: ppl = 1 turn += 1 ans = [ppl,turn] break else: ppl += 1 if ppl == n+1: ppl = 1 turn += 1 ans = [ppl,turn] break ppl += 1 if ppl == n+1: ppl = 1 turn += 1 return ans
'알고리즘' 카테고리의 다른 글
[프로그래머스] 튜플 (0) 2023.06.29 [프로그래머스] 점프와 순간 이동 (0) 2023.06.29 [프로그래머스] 프로세스 (0) 2023.06.28 [프로그래머스] 소수 찾기 (0) 2023.06.28 [프로그래머스] 가장 큰 정사각형 찾기 (0) 2023.06.26