영어 끝말잇기 - Python
2023. 10. 16. 20:18ㆍ공부/📝 프로그래머스
1. 풀이 코드
def solution(n, words):
temp = words[0][0]
player = 0
word_num = 1
word_list = []
for item in words:
if player >= n:
player = 1
word_num += 1
else:
player += 1
if item[0] == temp:
if item in word_list:
return [player, word_num]
else:
word_list.append(item)
temp = item[-1]
else:
return [player, word_num]
return [0, 0]
# Test Cases
print(solution(3, ["tank", "kick", "know", "wheel",
"land", "dream", "mother", "robot", "tank"]))
print(solution(5, ["hello", "observe", "effect", "take", "either", "recognize", "encourage",
"ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"]))
print(solution(2, ["hello", "one", "even", "never", "now", "world", "draw"]))
지저분하지만 차근차근 주어진 조건을 해결했습니다.
2. 다른 사람 풀이 코드
def solution(n, words):
for p in range(1, len(words)):
if words[p][0] != words[p-1][-1] or words[p] in words[:p]: return [(p%n)+1, (p//n)+1]
else:
return [0,0]
저와는 다르게 range()를 사용해서 풀었습니다. 이러한 이유로 이전의 값을 불러오기 용해졌네요.
'공부 > 📝 프로그래머스' 카테고리의 다른 글
[1차] 비밀지도 - Python (0) | 2023.10.17 |
---|---|
문자열 내 마음대로 정렬하기 - Python (0) | 2023.10.17 |
숫자 문자열과 영단어 - Python (0) | 2023.10.16 |
짝지어 제거하기 - Python (0) | 2023.10.15 |
시저 암호 - Python (0) | 2023.10.15 |