문제가 너무 길어서 이해하는데만 시간이 오래걸렸다x0x

다른 사람들이 푼 걸 보면 zip함수를 많이 사용하던데 이것도 공부해야겠다. enumerate함수랑 zip함수 for문에 적용해보기 연습하기!

❤️문제

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

❤️내 코드

def solution(survey, choices):
    answer = ''
    score_dict = {'R':0, 'T':0, 'C':0, 'F':0, 'J':0, 'M':0, 'A':0, 'N':0}
    scores = [3,2,1,0,1,2,3]
    for i in range(len(survey)):
        a = survey[i][0]  
        b = survey[i][1]  
        if choices[i] - 4 > 0:
            score_dict[b] += scores[choices[i]-1]  
        elif choices[i] -4 < 0:
             score_dict[a] += scores[choices[i]-1] 
        else:
            continue
    answer += "R" if score_dict["R"] >= score_dict["T"] else "T"
    answer += "C" if score_dict["C"] >= score_dict["F"] else "F"
    answer += "J" if score_dict["J"] >= score_dict["M"] else "M"
    answer += "A" if score_dict["A"] >= score_dict["N"] else "N"
    
    return answer

 

❤️다른 사람 코드 참고

def solution(survey, choices):

    my_dict = {"RT":0,"CF":0,"JM":0,"AN":0}
    for A,B in zip(survey,choices):
        if A not in my_dict.keys():
            A = A[::-1]
            my_dict[A] -= B-4
        else:
            my_dict[A] += B-4

    result = ""
    for name in my_dict.keys():
        if my_dict[name] > 0:
            result += name[1]
        elif my_dict[name] < 0:
            result += name[0]
        else:
            result += sorted(name)[0]

    return result

 

'Language & OS > Programmers' 카테고리의 다른 글

샘플 코딩 시험 문제  (0) 2023.10.27
[프로그래머스] 파이썬 둘만의 암호  (0) 2023.02.09

+ Recent posts