본문 바로가기

전체 글312

[JAVA] 백준 10486 - Trapezoid Walkway https://www.acmicpc.net/problem/10486Back Porch에서 시작해 Gazebo로 끝나는 길을 사다리꼴 모양의 타일을 이어 만들 때, 이어 붙여지는 변의 길이가 일치하도록 길을 만들어나가되, 가격이 가장 싸게 만드는 방법을 찾는 문제이다.(1제곱센티미터 당 2 센트) N개의 줄에 a,b,h가 주어지고, 그 다음줄에 Back Porch와 Gazebo의 변의 길이가 각각 주어진다. 만약 Back Porch와 Gazebo의 길이가 같으면 0을 반환하고, 아닐 경우는 변의 길이, 높이, 넓이, 누적높이를 가지는 클래스를 제네릭타입으로 가지는 우선순위큐를 이용해 Back Porch에서 출발해 Gazebo로 도착하는 누적 넓이의 최솟값을 구했다. import java.io.Buffere.. 2025. 10. 2.
프로그래머스 깊이/너비 우선 탐색(DFS/BFS) LV2 - 게임 맵 최단거리 https://school.programmers.co.kr/learn/courses/30/lessons/1844?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr맵이 주어졌을 때 (0,0)에서 (n,m)까지의 최단거리를 구하는 문제이다.x,y,depth를 저장하는 클래스를 만들고 BFS를 이용해 탐색했다.import java.util.*;class Solution { int[] dx = {0,1,-1,0}; int[] dy = {1,0,0,-1}; public int solution(int[][] maps) { boolean[][] visited = new boole.. 2025. 10. 1.
프로그래머스 깊이/너비 우선 탐색(DFS/BFS) LV3 - 단어변환 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krBFS로 큐에서 뽑은 문자열과 단어 리스트 내의 문자열을 비교해 차이나는 문자의 개수가 1개인 문자열을 큐에 넣고 target이 나올 때까지 돌린 후 depth를 출력했다. IDE를 안쓰니까 어색하다.import java.util.*;import java.util.stream.*;class Solution { public int solution(String begin, String target, String[] words) { List .. 2025. 9. 29.
프로그래머스 깊이/너비 우선 탐색(DFS/BFS) LV3 - 네트워크 https://school.programmers.co.kr/learn/courses/30/lessons/43162?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정점의 개수와 간선 정보가 주어졌을 때, 연결된 정점 그룹의 개수를 구하는 문제이다.DFS를 이용해 count했다. class Solution { public int solution(int n, int[][] computers) { boolean[] visited = new boolean[n]; int count = 0; for(int i = 0; i 2025. 9. 29.
[JAVA] 백준 1343 - 폴리오미노 https://www.acmicpc.net/problem/1343 입력을 받은 후 여러개의 마침표로 split된 배열 하나, 여러개의 X로 split된 배열 하나를 만들고마침표로 split된 배열에 대해 만약 length가 홀수면 -1 반환 후 함수를 종료하고짝수라면 최대한 AAAA를 채운 뒤 나머지에 대해 BB를 채운 문자열을 생성해 배열에 저장했다.그 이후 입력 문자열의 각 character를 읽어 X라면 AB로 변환한 배열에서 순번에 맞는 문자열을 가져와 붙이고 반복문의 index를 가져온 문자열의 길이 -1 만큼 늘리고, 마침표라면 마침표를 모아놓은 배열에서 가져와 붙여서정답 문자열을 만들었다.import java.io.BufferedReader;import java.io.IOException;i.. 2025. 9. 29.
[JAVA] 백준 9893 - Paths https://www.acmicpc.net/problem/9893정점과 간선 리스트가 주어졌을 때, 0 -> 1까지 가는 최소 거리, 최소 비용 가중치를 구하는 문제이다.짧으면 무조건 1 순위, 경로의 길이가 같으면 비용을 비교한다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.i.. 2025. 9. 29.