[이것이 코딩 테스트다 with Python] Chapter 13. DFS/BFS - 블록 이동하기
·
코딩테스트/이것이 코딩 테스트다
💬 문제 설명 로봇개발자 "무지"는 한 달 앞으로 다가온 "카카오배 로봇경진대회"에 출품할 로봇을 준비하고 있습니다. 준비 중인 로봇은 2 x 1 크기의 로봇으로 "무지"는 "0"과 "1"로 이루어진 N x N 크기의 지도에서 2 x 1 크기인 로봇을 움직여 (N, N) 위치까지 이동 할 수 있도록 프로그래밍을 하려고 합니다. .... 입력 ( board ) 출력 ( result ) [ [0, 0, 0, 1, 1], [0, 0, 0, 1, 0], [0, 1, 0, 1, 1], [1, 1, 0, 0, 1], [0, 0, 0, 0, 0] ] 7 💬 입력 조건 board의 한 변의 길이 N ( 5 ≤ N ≤ 100 ) board의 원소는 0 , 1 ( 0 : 길, 1 : 벽) 로봇이 처음..
[이것이 코딩 테스트다 with Python] Chapter 13. DFS/BFS - 감시 피하기
·
코딩테스트/이것이 코딩 테스트다
💬 문제 설명 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복도로 빠져나온 학생들은 선생님의 감시에 들키지 않는 것이 목표이다. .... 입력 출력 5 X S X X T T X S X X X X X X X X T X X X X X T X X YES 4 S S S T X X X X X X X X T T T X NO 💬 입력 조건 첫째 줄에 N ( 3 ≤ N ≤ 6 ) 둘째 줄부터 N개의 원소들 ( S : 학생, T : 선생님, X : 빈칸) 선생님 수 ( 1 ≤ T의 수 ≤ 5 ), 학생 수 ( 1 ≤ S의 수 ≤ 30 ) 💬 출력 조건 ..
[이것이 코딩 테스트다 with Python] Chapter 13. DFS/BFS - 연산자 끼워 넣기
·
코딩테스트/이것이 코딩 테스트다
💬 문제 설명 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. .... 입력 출력 2 5 6 0 0 1 0 30 30 3 3 4 5 1 0 1 0 35 17 6 1 2 3 4 5 6 2 1 1 1 54 -24 💬 입력 조건 첫째 줄에 N( 2 ≤ N ≤ 11 ) 둘째 줄에는 A1...An ( 2 ≤ Ai ≤ 100 ) 셋째 줄에는 합이 N - 1인 4개의 정수 ( +, -, x, % ) 의 개..
[이것이 코딩 테스트다 with Python] Chapter 13. DFS/BFS - 괄호 변환
·
코딩테스트/이것이 코딩 테스트다
💬 문제 설명 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. .... 입력 (p) 출력(result) "(()())()" "(()())()" ")(" "()" "()))((()" "()(())()" 💬 입력 조건 p는 "("와 ")" 로만 이루어진 문자열 ( 2 ≤ p ≤ 1,000. 짝수 ) 문자열 p를 이루는 "(" 와 ")"의 길이는 항상 동일 💬 출력 조건 수정된 올바른 문자열 p를 반환 p가 이미 올바른 ..
[이것이 코딩 테스트다 with Python] Chapter 13. DFS/BFS - 경쟁적 전염
·
코딩테스트/이것이 코딩 테스트다
💬 문제 설명 NxN 크기의 시험관이 있다. 시험관은 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 바이러스가 존재할 수 있다. 모든 바이러스는 1번부터 K번까지의 바이러스 종류 중 하나에 속한다. 시험관에 존재하는 모든 바이러스는 1초마다 상, 하, 좌, 우의 방향으로 증식해 나간다. 단, 매 초마다 번호가 낮은 종류의 바이러스부터 먼저 증식한다. 또한 증식 과정에서 특정한 칸에 이미 어떠한 바이러스가 존재한다면, 그 곳에는 다른 바이러스가 들어갈 수 없다. .... 입력 출력 3 3 1 0 2 0 0 0 3 0 0 2 3 2 3 3 3 1 0 2 0 0 0 3 0 0 1 2 2 0 💬 입력 조건 첫째 줄에 N 지도의 크기, K 바이러스 번호 ( 1 ≤ N ≤ 200, 1 ≤ K..
[이것이 코딩 테스트다 with Python] Chapter 13. DFS/BFS - 연구소
·
코딩테스트/이것이 코딩 테스트다
💬 문제 설명 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. .... 입력 출력 7 7 2 0 0 0 1 1 0 0 0 1 0 1 2 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 27 4 6 0 0 0 0 0 0 1 0 0 0 0 2 1 1 1 0 0 2 0 0 0 0 0 2 9 💬 입력 조건 첫째 줄에..
[이것이 코딩 테스트다 with Python] Chapter 13. DFS/BFS - 특정 거리의 도시 찾기
·
코딩테스트/이것이 코딩 테스트다
💬 문제 설명 어떤 나라에는 1번부터 N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다. 이 때 특정한 도시 X로부터 출발하여 도달할 수 있는 모든 도시 중에서, 최단 거리가 정확히 K인 모든 도시들의 번호를 출력하는 프로그램을 작성하시오. 또한 출발 도시 X에서 출발 도시 X로 가는 최단 거리는 항상 0이라고 가정한다. .... 입력 출력 4 4 2 1 1 2 1 3 2 3 2 4 4 4 3 2 1 1 2 1 3 1 4 -1 💬 입력 조건 첫째 줄에는 도시의 개수 N ( 2 ≤ N ≤ 300,000 ) 도로의 개수 M ( 1 ≤ M ≤ 1,000,000 ) 거리의 정보 K ( 1 ≤ K ≤ 300,000 ) 도시의 번호 X ( 1 ≤ X ≤ N ..