내 인생은 개발 중
[프로그래머스] 시소 짝꿍 - Python 본문
https://school.programmers.co.kr/learn/courses/30/lessons/152996
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
from collections import Counter
def solution(weights):
answer = 0
counter = Counter(weights)
for k, v in counter.items():
if v >= 2:
answer += v * (v - 1) // 2
weights = set(weights)
for w in weights:
if w * 2/3 in weights:
answer += counter[w * 2/3] * counter[w]
if w * 2/4 in weights:
answer += counter[w * 2/4] * counter[w]
if w * 3/4 in weights:
answer += counter[w * 3/4] * counter[w]
return answer
처음에 collections 이용해서 조합 구해서 풀었는데 도저히 답이 안나와서 답을 참고했땨!
처음엔 마지막 for문에서 answer에 더해줄 때 그냥 1을 더하면 안되나? 생각했었는데
예를 들어 counter[w * 2/3]
의 갯수가 2이고 counter[w]
의 갯수가 3이라면 나올 수 있는 갯수가 2 * 3 즉 6이기 때문에 이렇게 계산해서 더해줘야 한댜!!!
다른 사람들은 진짜 어떻게 이렇게 푸는거지,, 대다내 증말
담에 한번 더 풀어봐야지!!
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 방문 길이 - Python (0) | 2024.08.10 |
---|---|
[프로그래머스] 큰 수 만들기 - Python (1) | 2024.07.24 |
[프로그래머스] 더 맵게 (0) | 2024.07.16 |
[프로그래머스] 모음사전 - Python (0) | 2024.07.03 |
[프로그래머스] 전화번호 목록 - Python (0) | 2024.07.01 |
Comments