본문 바로가기

백준14

백준 1926번 그림(JAVA) - BFS 백준 1926번 https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 문제설명 도화지의 크기 n,m을 입력받고 연결된 그림중 가장큰수, 그림의 개수를 구하는 문제 ( 1로 연결된것은 한개의 그림, 가로 세로만 연결된 것으로 가정) 접근 BFS로 접근 코드 package boj; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import .. 2023. 3. 22.
백준 4963번 섬의 개수(JAVA) - DFS 백준 4963번 https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 문제설명 지도의 크기를 입력받고, 1(땅), 0(바다) 로 구분지어진 값들을 입력받아 섬의 개수를 세는 프로그램 작성. 섬이란 가로, 세로 또는 대각선 까지 연결되어있는 사각형을 말한다. 지도의 크기 0, 0 을 입력받으면 종료. 접근 1. 지도의 크기 w,h를 입력 받고 지도를 초기화 하면서 방문여부인 visit도 초기화 해준다. 2. 입력받은 w,h를 통해 0,1을 입력 .. 2023. 2. 19.
백준 1541번 잃어버린 괄호(JAVA) - 그리디 백준 1541번 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제설명 문자로된 식을 입력 받고 그 해당 식의 값이 최소로 만드는 괄호의 위치를 찾아서 계산 후에 최솟값을 출력한다. 접근 1. - 를 기준으로 문자열을 나눈다. 2. 나눠진 문자열들을 '+' 기준으로 나눈다음 각각 다 더한다. 3. 첫번째 값은 더해주고 나머지는 뺴주면서 최솟값으로 만든다. 코드 import java.io.*; import java.util.*; publi.. 2023. 2. 15.
백준 2309번 일곱 난쟁이(JAVA) 백준 2309번 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 문제설명 9개의 값들 중 7개의 값이 합하여 100이 되는 경우의 수를 출력 하면 되는문제 > 브루트포스 알고리즘 접근 1. 9개중 7개를 뽑아서 100이 되야함 -> 9개중 2개를 뽑는것 과 같음. 2. 9개의 합에서 100을 뺀 값이 선택한 두개의 값이랑 같다면 해당 값을 0 으로 변경후 정렬(오름차순을 위해) 3. 인덱스 2번부터 9번까지 반복문을 돌며 출력. 코드 import jav.. 2023. 1. 16.