[Algorithm/Python][프로그래머스] 신고 결과 받기

동글이·2022년 8월 8일
0

Algorithm

목록 보기
10/33

[프로그래머스] 신고 결과 받기

https://school.programmers.co.kr/learn/courses/30/lessons/92334

- 문제 접근

  • set() 이용해서 중복을 제거하였다
  • 딕셔너리 이용해서 정지된 ID에 신고한 ID를 value 값으로 넣어주었다
  • 배열을 쓸 때 처음에 초기화 해주어야한다.

- 내 코드

def solution(id_list, report, k):
    report=set(report)
    check={}
    result=[0]*len(id_list)
    for i in report:
        a,b=i.split()
        if b not in check:
            check[b]=a
        else:
            c=check[b]
            check[b]=c+" "+a
    for i in check:
        d=check[i]
        if d.count(" ")>=k-1:
            e=list(d.split())
            for i in e:
                f=id_list.index(i)
                result[f]+=1
        
    return result

- 더 멋찐 코드

  • 딕셔너리를 초기화할 때 바로 value 값을 넣어주어다
  • r.split()[1] 하면 딕셔너리의 value 값, r.split()[0] 하면 딕셔너리의 key 값을 나타낸다.
def solution(id_list, report, k):
    answer = [0] * len(id_list)    
    reports = {x : 0 for x in id_list}

    for r in set(report):
        reports[r.split()[1]] += 1

    for r in set(report):
        if reports[r.split()[1]] >= k:
            answer[id_list.index(r.split()[0])] += 1

    return answer

✔ 한 일 점검


✔ 내일 목표

  • 백준 or 프로그래머스 - 2문제 이상
  • 스프링 - 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 끝내기
  • 파이썬 - 이코테 강의2
  • 창액 프로젝트 crud
  • 졸작 회의
  • 튜터링 면접..?
  • 운전면허 받으러 가기
  • 캐리비안 숙소 알아보기

✔ 주저리

profile
기죽지 않는 개발자

0개의 댓글