[프로그래머스] 영어 끝말잇기

yewon Lee·2023년 4월 23일
0


😎코딩테스트 연습>Summer/Winter Coding(~2018)>영어 끝말잇기


📘 문제 풀이

def solution(n, words):
    answer = []
    no_dup_words = []
    dup_n1 = 0
    
    #맞지 않는 단어를 말했을 때
    dup_n2 = 0
    w_fir = ''
    w_end = words[0][0]
    
    for i, w in enumerate(words):
        w_fir = w[0]
        if w_fir != w_end:
            dup_n2 = i+1
            break
        w_end = w[-1]
    
    # 같은 단어를 말했을 때
    for i, w in enumerate(words):
        if w not in no_dup_words:
            no_dup_words.append(w)
        else:
            dup_n1 = i+1
            break
    
    print(dup_n1)
            
    
    
    print(dup_n2)
    #if dup_n1 != 0 and dup_n2 != 0 and dup_n2 < dup_n1 : dup_n1 = dup_n2
    print(dup_n1)
    #print(math.ceil(dup_n1/n))
    #print(dup_n1%n if dup_n1%n != 0 else n )#탈락하는 사람의 번호
    #print(math.ceil(dup_n1/n)) #그사람의 순서
    
    if dup_n1 == 0 and dup_n2 == 0:
        return [0, 0]
    
    if dup_n2 == 0:
        answer.append(dup_n1%n if dup_n1%n != 0 else n)
        answer.append(math.ceil(dup_n1/n))
    
    elif dup_n1 == 0:
        answer.append(dup_n2%n if dup_n2%n != 0 else n)
        answer.append(math.ceil(dup_n2/n))
    
    else:
        m = [dup_n1, dup_n2]
        dup_n1 = min(m)
        answer.append(dup_n1%n if dup_n1%n != 0 else n)
        answer.append(math.ceil(dup_n1/n))
    
    return answer

뭔가 복잡하게 풀어서,,, 다시 풀어야겟슴

profile
시작

0개의 댓글