https://school.programmers.co.kr/learn/courses/30/lessons/92334#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import copy
def solution(id_list, report, k):
arr = []
ban = [0]*len(id_list)
mail = [0]*len(id_list)
report=list(set(report)) #set을 시켜서 중복신고를 대폭 줄여줌
a = copy.deepcopy(id_list)
for i in range(len(report)):
arr.append(report[i].split())
for i in range(len(arr)):
ban[id_list.index(arr[i][1])]+=1
# for문을 1중for문으로 맞추기 위함
for i in range(len(ban)):
if ban[i] >=k:
a[i] = ban[i] #신고를 k번이상 받은사람은 사람도 아니다! 숫자다!
for i in range(len(arr)):
if arr[i][1] not in a: # 신고한 사람이 사람이 아니라 숫자면
mail[id_list.index(arr[i][0])] += 1 # 신고했던 사람들한테 메일 하나씩
return mail
dict를 쓴다던가 하는 많은 방법이 있을거 같은데..
일단 처음 손 댄 방식에서 아예 새로운 방식으로 바꾸고 싶지 않았다.ㅠㅠ
최대한 이해에 도움이 되게 끔 작성하였다. ^^
'Algorithm > programmers' 카테고리의 다른 글
programmers 숫자 문자열과 영단어 (0) | 2022.08.02 |
---|---|
programmers 신규 아이디 추천 (0) | 2022.07.28 |
프로그래머스: 굿스타터 스킬레벨체크1(python) (0) | 2022.07.26 |
programmers 카펫(완전탐색) (0) | 2022.06.14 |
programmers 단어 변환(DFS/BFS) (0) | 2022.06.08 |
댓글