본문 바로가기

코드연습/Python

HackerRank | Nested Lists 풀이

728x90

 HackerRank 의 Python 기본 문제들 중 Nested Lists를 풀면서 참고할 내용 정리.


if __name__ == '__main__':
    
    score_list = {}
    for i in range(int(input())):
        name = str(input())
        score = float(input())

        if score in score_list:
            score_list[score].append(name)
        else:
            score_list[score] = [name]
  • dictionary type에 list가 value로 들어가게 되면, 하나의 key로 여러개의 values를 저장할 수 있는 효과가 있다. 이것이 Nested Lists의 핵심 아이디어 인 것 같다.
    new_list = []

    for i in score_list:
        new_list.append([i, score_list[i]])
    new_list.sort()

    result = new_list[1][1]
    result.sort()
  • dictionary type에 sorting을 위해서 list type으로 변환을 시작한다. 문제에 따라 달라지겠지만, 이 문제에서는 성적에 따라 sorting된 이름을 출력하되 알파벳 순으로 출력하여야 해서 마지막에 sort가 한번 더 들어간다.
print(*list_varialbe, sep='\n')​
  • 위 구문으로 list_variable의 여러 문장을 출력할 수 있다.

'코드연습 > Python' 카테고리의 다른 글

HackerRank | Day 8: Dictionaries and Maps  (0) 2021.12.29
HackerRank | Capitalize!  (0) 2021.12.19
HackerRank | Alphabet Rangoli  (0) 2021.12.19
HackerRank | Text Alignment  (0) 2021.12.12
HackerRank | String Formatting  (0) 2021.12.08