(프로그래머) 레벨 2 영어 엔딩(python)

https://school.programmers.co.kr/learn/courses/30/lessons/12981

1. 내가 쓴 솔루션

def solution(n, words):
    for i in range(len(words)):
        check = True
        if words(i) in words(:i):
            check = False
        elif i !
=0 and words(i)(0) !
= words(i-1)(-1): check = False if not check: return (i%n+1,i//n+1) return (0,0)

– elif 문에 i !
= 0 을 써서 첫 단어에 인덱스 오류를 방지했는데 어차피 첫 단어에서 dropout이 나올 수 없기 때문에 for 문의 시작을 1로 설정하면 코드가 훨씬 간단해진다.

하다.

2. 리팩토링

def solution(n, words):
    for i in range(1, len(words)):
        if words(i) in words(:i) or words(i)(0) !
= words(i-1)(-1): return (i%n+1,i//n+1) return (0,0)

(참조)

– i % n + 1 을 하면 탈락 개수를 알 수 있습니다.

– i // n + 1 하면 탈락 라운드를 알 수 있습니다.