카카오코딩테스트 2

2022 KAKAO BLIND RECRUITMENT : 신고 결과 받기

한 유저가 중복으로 신고하는 것을 방지하는 것은 set 형으로 만들어서 중복을 제거할 수 있다. 이 후, user별로 신고한 id와 신고당한 횟수를 저장할 딕셔너리를 생성한다. report를 순회하면서 user가 신고한 정보를 저장하고, cnt에는 신고당한 유저의 횟수를 증가시킨다. 그 다음 user list를 돌아가면서 유저가 신고했던 유저가 k번 이상 신고되었는지를 파악한 후에, k번 이상 신고 당했으면 result를 1씩 증가시키고, 처리 결과 메일을 받은 횟수를 배열에 추가한다. 이후 answer 배열을 출력하면 된다. from collections import defaultdict def solution(id_list, report,k): answer = [] # 중복 신고 제거 report =..

카테고리 없음 2023.11.13

2022 KAKAO TECH INTERNSHIP : 두 큐 합 같게 만들기

말 그대로 두 큐의 합을 같게 만들면 되는 문제다. 우선 list.pop()을 쓰면 시간 초과가 발생할 수 있으므로, deque를 import해서 사용한다. 2로 나누었을 때 나머지가 생긴다면 두 큐로 나눌 수 없기 때문에 -1을 return하고, 두 큐의 sum을 무한 루프 내에서 비교하여 큰 큐의 원소가 작은 큐에 append 되는 형식으로 반복하고, 카운트 한다. 만약 두 큐의 원소가 같아질 때 answer를 리턴하고, answer가 무한대로 커지지 않도록 queue의 길이 * 4 이상을 넘어갈 경우 찾을 수 없다고 가정하고 -1을 리턴한다. from collections import deque def solution(queue1, queue2): q1 = deque(queue1) q2 = dequ..

카테고리 없음 2023.11.13