티스토리 뷰
728x90
반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/12981
코드
def solution(n, words):
answer = []
temp = []
temp.append(words[0])
result1 = 0
result2 = 0
for i in range(1, len(words)):
if words[i-1][-1] == words[i][0]:
if words[i] not in temp:
temp.append(words[i])
else:
result1 = i % n + 1 # 몇번째 사람이 떨어졌는지
result2 = i // n + 1 # 떨어진 사람이 몇번째에 떨어졌는지
return [result1, result2]
else:
result1 = i % n + 1 # 몇번째 사람이 떨어졌는지
result2 = i // n + 1 # 떨어진 사람이 몇번째에 떨어졌는지
return [result1, result2]
else:
return [0,0]
끝말잇기 배열이 주어졌을때 끝말잇기가 실패하는 경우가 두가지가 있다.
첫번째는 전단어에 맨마지막 단어와 현재 첫번째 단어가 같지 않을 경우
=> 전 단어에 맨 마지막 글자와 현재 단어에 맨 처음 글자를 비교하여 같지않을 경우 return을 시켜주도록 한다.
두번째는 썻던 단어를 또 쓰는 경우
=> temp 배열을 임시로 만들어 temp에 들어있지 않은 문자열을 append 시켜주고 temp에 존재하는 문자열일 경우에는 return을 시켜주도록 한다.
몇번째 사람이 떨어졌는지는 나머지 숫자로 구할 수 있다.
인덱스 % 사람수 + 1 을 해주면 구할 수 있다. (인덱스 이므로 +1을 해준다.)
떨어진 사람이 몇번째에 떨어졌는지는 몫으로 구할 수 있다.
인덱스 // 사람수 + 1 을 해주면 구할 수 있다. (인덱스 이므로 +1을 해준다.)
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Level2, 삼각 달팽이 (Python) (0) | 2021.06.10 |
---|---|
[프로그래머스] Level2, 이진 변환 반복하기 (Python) (0) | 2021.06.09 |
[프로그래머스] Level2, 가장 큰 정사각형 찾기 (Python) (0) | 2021.06.08 |
[프로그래머스] Level2, 올바른 괄호 (Python) (0) | 2021.06.08 |
[프로그래머스] Level2, 땅따먹기 (Python) (0) | 2021.06.08 |
댓글