[프로그래머스] 도넛과 막대 그래프 (python)

2025. 9. 5. 21:58·Algorithm/Python

1️⃣ 문제

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

2️⃣ 필요한 개념

차수 기반 문제 판별하기

  1. 입력 크기 크다 → 탐색 괜찮나?
  2. 문제 설명이 구조적 정의(사이클, 끝점, 교차점) → 차수로 풀 수 있나?
  3. 출력이 개수만 요구됨 → 구체 탐색 필요 없네?

3️⃣ 풀이

def solution(edges):
    answer = []
    in_out_list = [[0,0] for _ in range(1000000+1)]
    if (len(edges) == 1):
        return 1, 1, 0, 0
    for edge in edges:
        a,b = edge 
        in_out_list[a][1] += 1
        in_out_list[b][0] += 1
    bar_count   = sum(1 for i,o in in_out_list if i==1 and o==0)
    if (bar_count == 0):
        bar_count   = sum(1 for i,o in in_out_list if i==0 and o==1)
    eight_count = sum(1 for i,o in in_out_list if i>=2 and o>=2)
    print(in_out_list[:10])
    
    max_o = -1
    max_k = -1
    for k in range(len(in_out_list)):
        i_o = in_out_list[k]
        i, o = i_o
        if (i == 0 ):
            if (max_o < o):
                max_o = o
                max_k = k
    start_node = max_k
    print(start_node)
    max_out = in_out_list[max_k][1]
    donut_count = max_out - bar_count - eight_count
    return start_node, donut_count, bar_count, eight_count
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Python' 카테고리의 다른 글

[프로그래머스] 숫자 문자열과 영단어 (python)  (0) 2025.09.05
[알고리즘 스터디] 백준 2164번 Python 풀이 - 카드2 (연산 복잡도, deque, 식 세우기)  (0) 2022.06.03
[알고리즘 스터디] 백준 2798번 Python 풀이 - 블랙잭  (0) 2022.06.03
[알고리즘 스터디] 백준 1259번 Python 풀이 - 팰린드롬수  (0) 2022.05.02
[알고리즘 스터디] 백준 10773번 Python 풀이 - list 자료형 다루기  (0) 2022.04.06
'Algorithm/Python' 카테고리의 다른 글
  • [프로그래머스] 숫자 문자열과 영단어 (python)
  • [알고리즘 스터디] 백준 2164번 Python 풀이 - 카드2 (연산 복잡도, deque, 식 세우기)
  • [알고리즘 스터디] 백준 2798번 Python 풀이 - 블랙잭
  • [알고리즘 스터디] 백준 1259번 Python 풀이 - 팰린드롬수
YONJAAN
YONJAAN
코딩일기
  • YONJAAN
    마이라이프해피라이프
    YONJAAN
  • 전체
    오늘
    어제
    • 분류 전체보기 (39)
      • Server (3)
        • Docker (1)
        • Node (0)
        • Spring (1)
        • Django (1)
      • Algorithm (22)
        • Python (9)
        • C++ (13)
      • Front (0)
      • 컴퓨터 (0)
        • Go (0)
        • C++ (3)
      • Diary (9)
        • 휴학일기 (0)
        • 진로 탐색 (0)
        • 책 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    사랑이란
    리액트
    공부나하러가이꼬맹아
    티스토리챌린지
    오블완
    SW마에스트로
    golang
    백준
    빛나는사람
    졸려
    아름다운색
    사랑스럽다
    노래추천
    Soma
    질투
    ㅇ
    소마
    합격
    소프트웨어마에스트로
    생각
    내가쓴글
    C++
    일기
    GIT
    작아지지말자
    아이즈원
    가십
    여유
    공부기록
    횡설수설
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
YONJAAN
[프로그래머스] 도넛과 막대 그래프 (python)
상단으로

티스토리툴바