티스토리 뷰

https://school.programmers.co.kr/learn/courses/30/lessons/92334

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

def solution(id_list, report, k):
    
    l = len(id_list)
    answer = []
    #report 중복제거
    report_set = set(report)
    dic1 = {}
    dic2 = {}
    
    for i in id_list:
        dic1[i] = 0
        dic2[i] = 0

		#신고받은 횟수 구하기
    for claim in report_set:
        a,b  = claim.split()
				#자기 자신이 신고 못함
        if a!=b:
            dic1[b]+=1
    
		#자신이 정지시킨 사람 수 구하기
    for claim in report_set:
        a,b  = claim.split()
        if dic1[b]>=k:
            dic2[a] += 1
    
    for i in id_list:
        answer.append(dic2[i])
    
    
    return answer

 

1. 집합을 이용한 중복제거, dictionary로 신고 횟수 저장

2. 자기 자신을 제외한 신고 횟수 구하기

3. 자신이 정지시킨 사람 수를 구하기

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함