[TIL-7] list, dictionary 활용하기

우소라·2023년 3월 21일
0
  1. 어떤 문제가 있었는가?

수포자 정답 많이 맞춘 사람 맞추기 알고리즘 문제

def solution(answers):
    answer = []

    cnt_one = 0
    cnt_two = 0
    cnt_three = 0

    one = [1, 2, 3, 4, 5] * 2000
    two = [2, 1, 2, 3, 2, 4, 2, 5] * 1250
    three = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] * 1000

    rank = {}

    for i, ans in enumerate(answers):
        if one[i]==ans:
            cnt_one +=1
        if two[i] == ans:
            cnt_two += 1
        if three[i] == ans:
            cnt_three += 1


   

    all_rank_values = rank.values()
    max_rank_values = max(all_rank_values)

    for i in range(1, len(rank)+1):
        if rank[i] == max_rank_values:
            answer.append(i)

    return answer

rank 리스트에 cnt값을 안 넣어줌
2. 내가 시도 한것
rank[i]에 cnt one, two, three 넣어줌

def solution(answers):
    answer = []

    cnt_one = 0
    cnt_two = 0
    cnt_three = 0

    one = [1, 2, 3, 4, 5] * 2000
    two = [2, 1, 2, 3, 2, 4, 2, 5] * 1250
    three = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] * 1000

    rank = {}

    for i, ans in enumerate(answers):
        if one[i]==ans:
            cnt_one +=1
        if two[i] == ans:
            cnt_two += 1
        if three[i] == ans:
            cnt_three += 1


    rank[1] = cnt_one
    rank[2] = cnt_two
    rank[3] = cnt_three

    all_rank_values = rank.values()
    max_rank_values = max(all_rank_values)

    for i in range(1, len(rank)+1):
        if rank[i] == max_rank_values:
            answer.append(i)

    return answer
    ```

  1. 해결:

^ㅠ^

  1. 알게된것
    list 활용, append해서 list에 값 추가

0개의 댓글

관련 채용 정보