peacekim
할 수 있는 것과 할 수 없는 것.
peacekim
전체 방문자
오늘
어제
  • 분류 전체보기 (68)
    • 👨‍🏫ps (44)
      • ❄️프로그래머스 (20)
      • 🔟0️⃣백준 (21)
      • leetcode (3)
    • ✍🏻study (20)
      • 👐java (6)
      • 🍃spring (1)
      • 🥇algorithm (0)
      • 🚘oodp (4)
      • 📒 jpa (3)
      • 👣DB (2)
      • 🌂네트워크 (0)
      • 🎸기타 (3)
      • 👊 kotlin (1)
      • 🫥 jvm (0)
    • 📽project (4)
      • 🎀ReBoN (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
peacekim

할 수 있는 것과 할 수 없는 것.

[프로그래머스] 신고 결과 받기 [python]
👨‍🏫ps/❄️프로그래머스

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

2023. 3. 13. 21:21
반응형

문제

구현 문제였고, set과 map(dictionary)를 사용해서 문제를 풀었다.

먼저 이름들을 idx에 맞도록 dictionary에 매핑을 시켰고,

신고를 당한 사람을 key로 두고, value들을 신고한 사람을 set으로 둬서 문제를 해결하였다.

시간 복잡도는 report의 크기를 N으로 하면,

O(N)일 거 같다

 

코드

def solution(id_list, report, k):
    answer = [0 for i in range(len(id_list))]
    mail = {}
    nameToIdx = {}
    for idx, idl in enumerate(id_list):
        nameToIdx[idl] = idx
    for re in report:
        userId, reportedId = re.split(" ")
        if nameToIdx[reportedId] not in mail:
            mail[nameToIdx[reportedId]] = set()
        mail[nameToIdx[reportedId]].add(nameToIdx[userId])
    for key, v in mail.items():
        if len(v) >= k:
            for i in v:
                answer[i] += 1
    return answer
반응형

'👨‍🏫ps > ❄️프로그래머스' 카테고리의 다른 글

[프로그래머스] 게임 맵 최단거리  (0) 2023.03.16
[프로그래머스] 숫자의 표현 [python]  (0) 2023.03.15
[프로그래머스] 신규 아이디 추천 [python]  (0) 2023.03.14
[프로그래머스] 성격 유형 검사하기 [python]  (0) 2023.03.14
[프로그래머스] 개인정보 수집 유효기간 [Python]  (0) 2023.03.12
    '👨‍🏫ps/❄️프로그래머스' 카테고리의 다른 글
    • [프로그래머스] 숫자의 표현 [python]
    • [프로그래머스] 신규 아이디 추천 [python]
    • [프로그래머스] 성격 유형 검사하기 [python]
    • [프로그래머스] 개인정보 수집 유효기간 [Python]
    peacekim
    peacekim
    할 수 있는 것과 할 수 없는 것. github: https://github.com/PyeongGangKim

    티스토리툴바