def solution(n, words):
dic = {words[0] : 1}
for i in range(1, len(words)):
if words[i][0] != words[i-1][-1]:
return [i % n + 1, i // n + 1]
else:
if words[i] not in dic:
dic[words[i]] = 1
else:
dic[words[i]] += 1
return [i % n + 1, i // n + 1]
return [0, 0]
- 딕셔너리를 생성 후 끝말잇기의 첫 값을 키밸류로 넣는다.
- for문을 1번 인덱스부터 시작해 각 단어의 끝과 첫 글자를 비교한다. (다르면 return)
- 이후 딕셔너리에 없으면 추가, 있으면 +1을 해주면서 만약 +1이 된다면 중복이므로 return 해준다.
- [i % n + 1, i // n + 1] 가 의미 하는 것은 인덱스의 몫 + 1은 순회 횟수가 될 것이고, 인덱스의 나머지의 +1 은 차례가 된다.
'Programmers' 카테고리의 다른 글
[프로그래머스 / 파이썬 풀이] 괄호 회전하기 (0) | 2023.02.17 |
---|---|
[프로그래머스 / 파이썬 풀이] 예상 대진표 (0) | 2023.02.16 |
[프로그래머스 / 파이썬 풀이] 이진 변환 반복하기 (0) | 2023.02.14 |
[프로그래머스 / 파이썬 풀이] 멀리 뛰기 (0) | 2023.02.14 |
[프로그래머스 / 파이썬 풀이] 짝지어 제거하기 (0) | 2023.02.13 |