본문 바로가기

전체 글

(194)
[2019 카카오 개발자 겨울 인턴쉽] 튜플 ⭐️ 튜플 레벨2 문제입니다. split 을 이용해서 잘 나눠주고 길이로 정렬을 해줍니다. 그 후 set의 difference 함수를 이용해서 차이만큼 결과 리스트에 더해줍니다. def solution(s): answer = set() result = [] srcs = s[2:-2].split('},{') srcs.sort(key=lambda x : len(x)) for src in srcs: temp = set(list(map(int, src.split(',')))) result = result + list(set.difference(temp, answer)) answer=temp return result 다음은 프로그래머스 다른 사람 풀이에서 본 좋은 풀이입니다. def solution(s): # {..
[2022 KAKAO BLIND RECRUITMENT] 신고 결과 받기 ⭐️ 신고 결과 받기 📝 설계 우선 문제를 꼼꼼히 읽어야 겠다는 생각을 했습니다.. 가장 큰 제약 조건은 신고한 사람이 같은 사람을 또 신고했을 때, 신고 횟수는 늘어나지 않는다는 것입니다. 또, 문제에서 매개변수로 준 id_list, report, k라는 조건을 모두 활용하려고 노력했습니다. 제 풀이는 defaultdict을 이용했는데 이때 신고횟수를 세는 딕셔너리 한개와 누가 누구를 신고했는지 기록하는 딕셔너리 한개를 만들었습니다. 그리고, 누가 누구를 신고하고 신고횟수를 카운팅해주었는데, 예를들어 a가 b를 신고했을 때 b가 a의 신고 리스트에 들어있다면 신고 횟수를 늘리지 않았습니다. 그리고 그 두개의 딕셔너리에 대해 2중 for문을 돌면서, 탐색을 진행했습니다. 신고 횟수가 k 이상인 사람에 대..

728x90