알고리즘 문제

문제 세준이는 컵 3개를 탁자 위에 일렬로 엎어놓았다. 컵의 번호는 맨 왼쪽 컵부터 순서대로 1번, 2번 3번이고, 세준이는 이 컵을 이용해서 게임을 하려고 한다. 먼저 1번 컵의 아래에 공을 하나 넣는다. 세준이는 두 컵을 고른 다음, 그 위치를 맞바꾸려고 한다. 예를 들어, 고른 컵이 1번과 2번이라면, 1번 컵이 있던 위치에 2번 컵을 이동시키고, 동시에 2번 컵이 있던 위치에 1번 컵을 이동시켜야 한다. 이때 공은 움직이지 않기 때문에, 공의 위치는 맨 처음 1번 컵이 있던 위치와 같다. 세준이는 컵의 위치를 총 M번 바꿀 것이며, 컵의 위치를 바꾼 방법이 입력으로 주어진다. 위치를 M번 바꾼 이후에 공이 들어있는 컵의 번호를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 컵의 위치를 바꾼 횟수 ..
정답코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int a, b, r; for(int i=0 ; i
문제 풀이 1. 입력처리 res = [] for _ in range(int(input())): cnt = 0 m, n, k = map(int,input().split()) graph = [[0] * m for _ in range(n)] # 배추 입력 for _ in range(k): x, y = map(int,input().split()) graph[y][x]=1 for i in range(n): for j in range(m): if graph[i][j] == 1: graph[i][j]=0 bfs(i,j) cnt += 1 res.append(cnt) 2. 넓이 탐색 진행 que = deque() dx = [1,-1,0,0] dy = [0,0,1,-1] que.append((y,x)) while que:..
문제 풀이 조건 아기 상어의 처음 크기 : 2 먹이를 찾아 이동하는데 우선 방향은 상 -> 좌 아기 상어는 자기 크기 보다 작은 물고기만 먹을수 있음 하지만 같은 크기의 물고기 위치로는 이동할 수 있음 자신의 크기 만큼 수의 물고기를 먹으면 아기 상어의 크기는 +1 1. 입력 import sys from collections import deque input = sys.stdin.readline # 먹을 수 있는 물고기가 1마리라면, 그 물고기를 먹으러 간다. # 먹을 수 있는 물고기가 1마리보다 많다면, 거리가 가장 가까운 물고기를 먹으러 간다. n = int(input()) graph = [] for _ in range(n): graph.append(list(map(int,input().split()..
zero_jae
'알고리즘 문제' 카테고리의 글 목록