일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 구현
- AI Tech 4기
- 레벨2
- AI Tech
- 프로그래밍
- 백엔드
- 2021 Dev-matching 웹 백엔드 개발자
- 파이썬
- 네이버
- 부스트캠프
- 4기
- 서버
- QNA 봇
- 서블릿
- Django
- 백준
- 장고
- BOJ
- 웹 프로그래밍
- 웹
- Customer service 구현
- sts
- P Stage
- 대회
- boostcourse
- Naver boostcourse
- cs50
- Naver boostcamp
- 프로그래머스
- 풀스택
Archives
- Today
- Total
daniel7481의 개발일지
[프로그래머스]2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 본문
반응형
https://programmers.co.kr/learn/courses/30/lessons/92334?language=python3
실로 오랜만에 포스팅을 하는 것 같다. 개인 사정으로 인해 한 동안 컴퓨터와 가까이 할 수 없었다. 머리와 손이 굳는 기분이 들어 쉬운 난이도인 1단계 카카오 채용 코테를 풀어보았다. 오랜만이라 그런지 낯선 기분이 들어 아쉬웠다.
풀이
정말 간단한 문자열 문제였던 것 같다. 그런데도 헤멘것을 보면 현타가 온다... 어쨌든 나는 각 유저에 대하여 자신을 신고한 인원들을 value로 가지는 딕셔너리를 선언하여 만약에 자신을 신고한 사람이 있으면 리스트에 append해주는 식으로 진행하였다. 전부 다 진행 한 후 만약 리스트의 길이가 k보다 크거나 같다면 리스트 안 모든 요소의 인원들을 키 값, 인덱스를 value로 가지는 hash라는 딕셔너리를 선언하여 answer 리스트 인덱스에 해당하는 값을 하나씩 더해주는 식으로 진행하였다.
def solution(id_list, report, k):
counter = {}
report = set(report)
report = list(report)
hash = {}
for i, id in enumerate(id_list):
hash[id] = i
for id in id_list:
counter[id] = []
answer = []
for i in range(len(id_list)):
answer.append(0)
for r in report:
reporter, reported = r.split()
counter[reported].append(reporter)
for j in counter.values():
if len(j) >= k:
for i in j:
answer[hash[i]] += 1
return answer
print(solution(["con", "ryan"], ["ryan con", "ryan con", "ryan con", "ryan con"], 3))
정말 오랜만이라 머리와 손이 굳었다. 안그래도 볼품 없는 실력이 이젠 아예 사라진 기분이 든다. 그래도 다시 시작하면 될것이라 믿는다.
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스]기능 개발 (0) | 2022.07.18 |
---|---|
[프로그래머스]오픈채팅방 (0) | 2022.07.15 |
[프로그래머스] 뉴스 클러스터링(2018 KAKAO BLIND RECRUITMENT) (0) | 2021.12.20 |
[프로그래머스]다단계 칫솔 판매(2021 Dev-Matching 웹 백엔드 상반기) Lv 3 (0) | 2021.12.12 |
[프로그래머스] 행렬 테두리 회전하기(2021 Dev-Matching 웹 백엔드 개발자(상반기) (0) | 2021.12.11 |