728x90
▶신고 결과 받기 - 2022 KAKAO BLIND RECRUITMENT (level 1)
▶풀이
신고 당한 횟수가 k번 이상이면 신고한 사람이 몇번이나 신고 성공했는지 출력해주면 된다.
그에 맞는 dictionary를 생성해서 id값들을 넣어준다.
result는 사람들이 몇번이나 신고 당했는지 체크해주는 dictionary이고,
신고 횟수를 1씩올려주면 된다.
마지막 for문에선 그 값에 해당하는 key값을 가지고
answer의 값을 1씩 올려주면 된다.
사실 이 문제를 글쓰는 날 푼 문제가 아니라 한참 전에 푼 문제이다.
그래서 설명 자체가 너무 별로일 수도 있다.ㅠㅠ
다음에 다시 풀어보고 설명을 제대로 적어야겠다.
def solution(id_list, report, k):
answer = [0] * len(id_list)
dp = {id: [] for id in id_list}
result = {}
for i in range(len(id_list)):
result[id_list[i]] = 0
for re in set(report):
a, b = re.split(' ')
dp[a].append(b)
for key, value in dp.items():
for v in value:
result[v] += 1
for key, value in dp.items():
for v in value:
if result[v] >= k:
answer[id_list.index(key)] += 1
return answer
이 문제 역시 효율성 검사는 없었다.
정확성 테스트만 만점 맞으면 통과가 되는 문제이다
테스트3을 보니까 1228ms가 걸렸다. 아마 효율성 테스트도 있었다면
나는 통과하지 못했을거다...
728x90