이 영역을 누르면 첫 페이지로 이동
쿄코코 블로그의 첫 페이지로 이동

쿄코코

페이지 맨 위로 올라가기

쿄코코

얼레벌레 생활🤯

백준 2578(빙고) - 구현

  • 2025.04.11 22:48
  • [백준] Python,Java로 풀기📖/구현
    반응형

     

    import sys
    
    # 빙고 줄(가로, 세로, 대각선) 개수를 세는 함수
    def count_bingo(visited):
        bingo_count = 0
    
        # 가로줄 검사
        for row in visited:
            if all(row):  # 한 줄이 전부 True이면 빙고 1줄
                bingo_count += 1
    
        # 세로줄 검사
        for col in range(5):
            if all(visited[row][col] for row in range(5)):
                bingo_count += 1
    
        # 대각선 (\) 검사
        if all(visited[i][i] for i in range(5)):
            bingo_count += 1
    
        # 대각선 (/) 검사
        if all(visited[i][4 - i] for i in range(5)):
            bingo_count += 1
    
        return bingo_count
    
    # 철수의 빙고판 숫자 위치 저장용 딕셔너리
    bingo = {}
    
    # 각 칸이 지워졌는지 여부를 저장하는 5x5 불리언 배열
    visited = [[False]*5 for _ in range(5)]
    
    # 전체 입력 받기 (숫자 1~25까지 10줄 입력이 공백으로 들어옴)
    data = list(map(int, sys.stdin.read().split()))
    
    # 앞 25개는 철수 빙고판 숫자
    board_nums = data[:25]
    
    # 뒤 25개는 사회자가 부르는 숫자 순서
    call_nums = data[25:]
    
    # 철수 빙고판 숫자 위치 저장: 숫자 → (행, 열)
    for idx, num in enumerate(board_nums):
        bingo[num] = (idx // 5, idx % 5)
    
    # 사회자가 숫자를 부를 때마다 해당 위치를 방문 체크
    for idx, num in enumerate(call_nums):
        x, y = bingo.get(num)
        visited[x][y] = True
    
        # 빙고 줄이 3줄 이상 생기면 해당 호출 순번 출력 후 종료
        if count_bingo(visited) >= 3:
            print(idx + 1)
            break
    반응형

    '[백준] Python,Java로 풀기📖 > 구현' 카테고리의 다른 글

    백준 10819(차이를 최대로)- Python(파이썬),Java(자바) - 구현,브루트포스(Permutations,Combinations,백트래킹,Java- 스택 사용 )  (0) 2022.06.09
    백준 1913(달팽이) - Python(파이썬) - 구현  (0) 2022.06.06
    백준 2232(지뢰) - 구현  (0) 2022.05.25

    댓글

    이 글 공유하기

    • 구독하기

      구독하기

    • 카카오톡

      카카오톡

    • 라인

      라인

    • 트위터

      트위터

    • Facebook

      Facebook

    • 카카오스토리

      카카오스토리

    • 밴드

      밴드

    • 네이버 블로그

      네이버 블로그

    • Pocket

      Pocket

    • Evernote

      Evernote

    다른 글

    • 백준 10819(차이를 최대로)- Python(파이썬),Java(자바) - 구현,브루트포스(Permutations,Combinations,백트래킹,Java- 스택 사용 )

      백준 10819(차이를 최대로)- Python(파이썬),Java(자바) - 구현,브루트포스(Permutations,Combinations,백트래킹,Java- 스택 사용 )

      2022.06.09
    • 백준 1913(달팽이) - Python(파이썬) - 구현

      백준 1913(달팽이) - Python(파이썬) - 구현

      2022.06.06
    • 백준 2232(지뢰) - 구현

      백준 2232(지뢰) - 구현

      2022.05.25
    다른 글 더 둘러보기

    정보

    쿄코코 블로그의 첫 페이지로 이동

    쿄코코

    • 쿄코코의 첫 페이지로 이동

    검색

    메뉴

    • 홈

    카테고리

    • 분류 전체보기 (168)
      • Python (24)
        • 😈 99클럽 코테 스터디 4기 TIL (23)
        • 궁금한거 정리 (1)
      • SQL (16)
        • HackerRank (15)
      • [백준] Python,Java로 풀기📖 (71)
        • 정렬(Sorting) (6)
        • 그리디 (5)
        • 문자열 (7)
        • 수학 (3)
        • DFS&BFS (10)
        • 구현 (4)
        • 다이나믹 (17)
        • 이분탐색 (1)
        • 자료구조 (10)
        • 최단거리 (5)
        • 인덱스트리 (0)
      • [프로그래머스]Python,Java로 풀기 (6)
        • Level 1 (4)
        • Level 2 (2)
      • Study Platform📚 (25)
        • (운영체제) - 블로그 및 강의 참고 (0)
        • 김영한👨🏻‍🏫의 스프링 부트와 JPA 실무 완전 .. (5)
        • (알고리즘)- [이코테] 이것이 코딩테스트다 정리 (10)
        • 그림으로 배우는 Http&Network Basic (10)
      • 까먹을까봐 적는 것들 (4)
      • 테스트 보고 난 후..🤔 (0)
      • kt 에이블스쿨 (18)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • 오블완
    • 항해99
    • TiL
    • 백준
    • 코딩테스트준비
    • 티스토리챌린지
    • 프로그래머스
    • 99클럽

    나의 외부 링크

    정보

    쿄코코의 쿄코코

    쿄코코

    쿄코코

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. © 쿄코코. Designed by Fraccino.

    티스토리툴바