알고리즘(30)
-
[백준/9095/Java] 1, 2, 3 더하기
문제: www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 먼저 문제를 풀고 오시는 것을 추천드립니다. 문제분석 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있습니다. 합을 나타낼 때는 수를 1개 이상 사용해야 합니다 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구해야 합니다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어집니다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어집니다. n은 양수이며 11보다 작습니다. 출력 각 테스..
2021.03.28 -
[백준/14502/Java] 연구소
문제: www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 먼저 문제를 풀고 오시는 것을 추천드립니다. 문제분석 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었습니다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 합니다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있습니다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지합니다...
2021.03.27 -
[백준/16234/Java] 인구이동
문제: www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 문제를 먼저 풀고 오시는 것을 추천합니다. 문제분석 NxN크기의 정사각형 땅이 있고, 각 나라에는 A[r][c]명이 살고 있습니다. 인구이동은 다음과 같이 진행되고, 더 이상 인구이동이 불가능할 때까지 지속됩니다. - 국경선을 공유하는 두 나라의 인구 차이가 L명 이상, R명 이하라면, 두 나라가 공유하는 국경선을 오늘 하루동안 엽니다. - 국경선이 열려있어 인접한 칸만을 이용해 이동할 수..
2021.03.20 -
[백준/14503/Java] 로봇청소기
문제: www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제를 먼저 풀고 오시는 것을 추천합니다. 이 문제의 풀이는 BFS 외에도 다양한 방법이 있을 수 있으며 제가 보여드리는 풀이는 그 중 하나입니다. 문제분석 로봇청소기의 작동방식을 이해하고 그대로 정확히 구현하는 것이 중요합니다. 로봇청소기는 바라보는 방향이 있으며, 동, 서, 남, 북 중 하나로 이동할 수 있습니다. 또한, 이미 청소되어 있는 칸을 또 청소하지 않으며, 벽을 통과할 수 없습니다. 로봇..
2021.03.17 -
[백준/16236/Java] 아기상어
문제: 16236번: 아기 상어 (acmicpc.net) 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 문제를 먼저 풀고 오시는 것을 추천합니다. 이 문제의 풀이는 BFS 외에도 다양한 방법이 있을 수 있으며 제가 보여드리는 풀이는 그 중 하나입니다. 문제분석 문제에 아기상어에 대한 제한조건이 많은 편입니다. N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있습니다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있고 한 칸에는 물고기가 최대 1마리 존재합니다. 아기 상어와 물고기는 모두 크기..
2021.03.13 -
[백준/2146/Java] 다리 만들기
문제: www.acmicpc.net/problem/2146 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net 문제를 먼저 풀고 오시는 것을 추천합니다. 이 문제의 풀이는 BFS 외에도 다양한 방법이 있을 수 있으며 제가 보여드리는 풀이는 그 중 하나입니다. 문제분석 1은 땅이고, 0은 바다입니다. 먼저 땅을 연결하여 하나의 육지를 만들어야 합니다. 육지 간에 서로 다리를 놓아 가장 짧은 다리의 길이를 구하는 문제입니다. 입력 첫줄에 지도의 크기 N(0 < N
2021.03.08