[백준] 10026: 적록색약

2024. 10. 10. 23:59·코딩테스트/BOJ

▶ 문제 탐색하기

재귀함수를 이용해서 최소한 점프할 수 있는 방법을 탐색한다. 

 

◇ 입력

  1. 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 100)
  2. 둘째 줄부터 N개 줄에는 그림이 주어진다.

 ◇ 원하는 출력 조건

  1. 적록색약이 아닌 사람이 봤을 때의 구역의 개수와 적록색약인 사람이 봤을 때의 구역의 수를 공백으로 구분해 출력한다.

가능한 시간복잡도 

 

알고리즘 선택

- BFS 알고리즘 사용

▶ 코드 설계하기

 

 

▶ 회차별 수정사항

  •  

▶ 정답 코드

import sys
dx = [-1, 1, 0, 0]
dy = [0, 0, -1, 1]

N = int(sys.stdin.readline())
graph = []
for _ in range(N):
    graph.append(list(sys.stdin.readline().strip()))

def bfs(x, y):
    queue = [(x, y)]
    visited[x][y] = True
    now = graph[x][y]
    while queue:
        x, y = queue.pop()
        for i in range(4):
            nx = x + dx[i]
            ny = y + dy[i]
            if nx < 0 or nx >= N or ny < 0 or ny >= N:
                continue
            if not visited[nx][ny] and graph[nx][ny] == now:
                visited[nx][ny] = True
                queue.append((nx, ny))


visited = [[False for _ in range(N)] for _ in range(N)]
not_blind = 0
for i in range(N):
    for j in range(N):
        if not visited[i][j]:
            not_blind += 1
            bfs(i,j)

visited = [[False for _ in range(N)] for _ in range(N)]
for i in range(N):
    for j in range(N):
        if graph[i][j] == 'G':
            graph[i][j] = 'R'

blind = 0
for i in range(N):
    for j in range(N):
        if not visited[i][j]:
            blind += 1
            bfs(i,j)


print(not_blind, end = ' ')
print(blind)

 

▶ 추가 풀이

 

'코딩테스트 > BOJ' 카테고리의 다른 글

[백준] 2096: 내려가기 (DP, 파이썬)  (0) 2024.10.14
[백준] 14430: 자원 캐기 (파이썬)  (0) 2024.10.12
[백준]27737번: 버섯농장  (0) 2024.10.10
[백준] 1326: 폴짝폴짝 (파이썬)  (0) 2024.10.07
[백준] 2805: 나무 자르기 (파이썬, 이분 탐색)  (0) 2024.09.23
'코딩테스트/BOJ' 카테고리의 다른 글
  • [백준] 2096: 내려가기 (DP, 파이썬)
  • [백준] 14430: 자원 캐기 (파이썬)
  • [백준]27737번: 버섯농장
  • [백준] 1326: 폴짝폴짝 (파이썬)
뚱이, not a starfish
뚱이, not a starfish
M.S. Student,. Mainly interested in computer vision and autonomous cars
  • 뚱이, not a starfish
    Wilbur-Babo
    뚱이, not a starfish
  • 전체
    오늘
    어제
    • 분류 전체보기 (194)
      • 통신 및 네트워크 (12)
      • Embedded Projects (2)
      • 3D Reconstruction (1)
        • Gaussian Splatting (0)
        • 3D-GS (1)
        • Multi-view Geometry (0)
        • VSLAM (0)
        • Computer Graphics (0)
      • LLM(VLM) (0)
      • AI-Study (28)
        • Mono-Depth (7)
        • Base (2)
        • Computer Vision (1)
        • Image Processing (3)
        • Tiny Object Detection (3)
      • 자율주행 (20)
        • [2023] 1-fifth AA EV (4)
        • [2022] 1-tenth AA EV (2)
        • ROS 1,2 (4)
        • 이론 (7)
        • 실습 (3)
      • Pointcloud (0)
      • sw (16)
        • 정보보안 (1)
        • Android_develop (3)
      • [학부] 전기전자공학 (12)
        • 반도체 (2)
        • 마이크로프로세서 (6)
      • 코딩테스트 (22)
        • BOJ (21)
      • 취준 (21)
        • EVS37 Ambassador (5)
        • 차량 제어 플랫폼 (5)
        • 영어 (3)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    현차 자율주행
    현대자동차 자율주행
    자율주행자동차
    오픽후기
    심포지움
    우분투터미널
    evs37sdv
    현대자동차최종면접결과
    현대자동차 연구개발
    현대자동차 서류합격후기
    현대자동차 자율주행 서류 합격 후기
    자율주행
    현차 3월 자율주행
    자율주행작품
    자율주행시험
    EVS37
    오블완챌린지
    tar 파일
    헤네스유아용자동차
    정렬
    evs37 sdv
    현차 3월 신입 서류
    헤네스
    자율주행경진대회
    현차떨
    rc카
    현대차3월신입후기
    현대자동차최종불합
    software defined vehicle
    tar압축풀기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
뚱이, not a starfish
[백준] 10026: 적록색약
상단으로

티스토리툴바