문제
https://school.programmers.co.kr/learn/courses/30/lessons/12981
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def solution(n, words):
for i in range(1, len(words)):
if words[i][0] != words[i-1][-1] or words[i] in words[:i]:
return [(i%n)+1, (i//n)+1]
else:
return [0, 0]
설명
와.. 진짜.. 어떻게 저렇게 깔끔하게 할 수 있지..ㅠㅠ 아예 접근도 못 한 문제..
안되는 조건들만 if 문 조건으로 해서 하면 됐다.
그리고 앞 단어의 맨 끝 글자(words[i-1][-1]) 와 뒷 단어의 맨 앞 글자(words[i][0]) 이 부분 인덱스 처리 하는걸 아예 몰랐었다..;;
사람을 구할 때 1을 더하는 이유는 문제에서 사람이 1부터 시작하기 때문이고,
몇 번째 턴인지 구할 때 1을 더하는 이유는 맨 첫 턴을 1부터 시작하기 때문이다.
'Coding Test > Python' 카테고리의 다른 글
| [프로그래머스] 점프와 순간 이동 (0) | 2023.06.09 |
|---|---|
| [프로그래머스] 구명보트 (0) | 2023.06.08 |
| [프로그래머스] 짝지어 제거하기 (0) | 2023.06.07 |
| [프로그래머스] 피보나치 수 (0) | 2023.06.07 |
| [프로그래머스] 숫자의 표현 (1) | 2023.06.07 |