Practice/Programmers
[프로그래머스/Programmers] Summer/winter Coding(~2018) 영어 끝말잇기 (파이썬 Python)
공부하곰
2024. 5. 9. 15:46
728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12981
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 제출
- 주석이 더 있었는데 지웠다.
- 깔끔한 코드는 아니다.
- 첫 번째 턴의 단어 (첫 번째 사람, 시작 단어)는 그냥 처음부터 set에 넣고 했으면 좋았을 것 같다.
- 그러면 굳이 turn!=1 검사를 안 해도 됐을 듯.
- answer에 결과 집어넣는 부분도 코드가 동일한데 반복문 앞 뒤를 좀 바꿔서 한 번에 결과 출력하게 했을 수도 있을 듯.
import math
def solution(n, words):
# 사람의 수 n, 사람들이 순서대로 말한 단어 배열 words
answer = [0,0]
# 단어 저장 set 필요.
said_word = set()
# 차례
turn = 0
for cur_word in range(len(words)):
turn += 1
if turn != 1:
if words[cur_word][0] != words[cur_word-1][-1]:
if turn % n == 0:
answer = [n, turn//n]
break
else:
answer = [turn%n, math.ceil(turn/n)]
break
before_n = len(said_word)
said_word.add(words[cur_word])
after_n = len(said_word)
if before_n == after_n :
person = turn % n
if person == 0 :
person = n
answer = [person, math.ceil(turn/n)]
break
return answer
결과
728x90
반응형