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

  • 최근 글

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

티스토리툴바