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 |