element가 2개 있을 때, 하나를 씹어버리고 나머지 하나에 대해서만 sum 연산이라던지, 이를 조작할 수 있는 코드가 있어서 기억을 위해 포스팅하고자 한다.
프로그래머스의 Hash - 베스트앨범 문제이다.
우선 이전 포스팅으로 여러 tuple을 value로 가지고 있는 dict()를 생성해 주었고, 위처럼 생겼다.
tuple의 2번째 element가 재생 횟수인데, 가장 재생이 많이 된 장르를 찾고자 한다.
이럴 때, value들을 for 문으로 순회해주는데, 원래는 element가 2개니까
for index, play in dict[genre]:
~~~
이런 식으로 접근해야 한다.
하지만,
sum(play for _, play in dict[genre])
이렇게 _를 사용하고 / comprehension 문법을 사용해서
play 에 대해서만 연산을 하고, _로 index element는 무시해버릴 수 있다.
코드를 보자.
Comprehension 문법을 잠깐 보자. 이런걸 할 줄 알아야 코딩을 잘하는 것 같으니, 익숙해져야 한다.
list comprehension도 마찬가지인데,
play for _, play in album[genre]
sum을 해줄 play를 맨 앞에 쓰고, 그 다음에 for 문을 작성해준다.
if 문이 있을 경우 for 문 다음에 작성해준다.
연산할 거 > for 문 > if 조건
'LeetCode' 카테고리의 다른 글
sort() 와 sorted() 차이 (0) | 2025.01.11 |
---|---|
sort()에 대해서 - 조건이 있는 sort와 조건이 여러 개일 때 / lambda (0) | 2025.01.10 |
[프로그래머스] Hash - 하나의 Key에 여러 Tuple value (0) | 2025.01.10 |
zip() 함수 사용하기 (0) | 2025.01.09 |
[프로그래머스] Hash - 하나의 Key에 여러 Value 더하기 (0) | 2025.01.09 |