Algorithm (172) 썸네일형 리스트형 [BOJ-7576][BFS] 토마토 - Java 문제 바로가기 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토� www.acmicpc.net 몇가지 조건이 달려있는 간단한 BFS 문제입니다. 하루가 지나면 익은 토마토의 사방에 있는 토마토가 익는다고 하니, visited 배열을 활용해서 답을 구해주면 됩니다. import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; class Dir{ int y, x; Dir(int y, int x){ .. [SWEA-1238][BFS] Contact - Java 인접 리스트를 만들고 BFS로 퍼져나가면서 단순히 방문 여부만 체크하는 것이 아니라 언제 방문했는지를 체크해줌으로써 풀 수 있는 문제입니다. 인접 리스트를 구현하는 방법에는 크게 2차원 배열을 이용하거나 연결 리스트를 이용할 수 있는데, 이 문제는 정점의 최대 개수가 101개(1~100)이기 때문에 이번에는 오랜만에 간단히 배열을 사용해서 만들어 보아씀니다. import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Solution { static int [][] graph; static int[] dy = {0, 0, 1, -1}; static int[] dx = {1, -1, 0, 0}; stat.. [SWEA-9229][DFS] 한빈이와 Spot Mart - Java 한빈이라는 친구가 과자 두 봉지를 사서 가는데 들고 갈 수 있는 최대 무게를 구하는 문제입니다. N개 중에서 반드시 두 개를 선택해야 하므로 조합(Combination)을 이용해서 풀면 됩니다. import java.util.Arrays; import java.util.Scanner; public class Solution { static int[] snacks; static int[] selected; static int answer; static int M; private static void dfs(int cnt, int s) { if(cnt == 2) { int sum = Arrays.stream(selected).sum(); if(sum > M) return; answer = answer > s.. [SWEA-1223][스택] 계산기2 - Java 입력값으로 중위 표기식이 들어오면 이를 후위 표기식으로 바꾸고 계산하는 문제입니다. 스택을 이용해서 후위 표기식으로 바꾸고 계산까지 하면 됩니다. 괄호없이 덧셈과 곱셈만 있기 때문에 상대적으로 쉬운 문제랍니당. import java.util.Scanner; import java.util.Stack; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = 10; for(int test_case = 1; test_case [BOJ-14890][시뮬레이션] 경사로 - Java 문제 바로가기 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 삼성전자 코테 기출문제입니다.. 특별한 알고리즘을 요구하지는 않는 시뮬레이션 문젠데 이것저것 고려해야 할게 넘 많아서 예전에 못풀었다가 요번에 풀어씀다.. 꽤 빨리 풀긴 했는데 코드가 쪼까 지저분합니다 ㅜ package PS; import java.util.Scanner; class Main{ static int[][] map; static int L; static int ans = 0; static void solve(int[] line) { int start = lin.. [BOJ-3190][시뮬레이션] 뱀 - Java 문제 바로가기 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. www.acmicpc.net 뱀이 왔다갔다 하는 문제임니다. 문제에서 요구하는 조건만 잘 생각해서 코드를 짜면 됩니다.. import java.util.Deque; import java.util.LinkedList; import java.util.Scanner; class Dir{ int y; int x; Dir(int y, int x){ this.y = y; this.x = x; } } class Move{ int sec; char dir; Move(int sec, char dir.. [SWEA-1225][큐] 암호생성기 - Java 앞에 놈을 빼서 일련의 연산을 해준 뒤 다시 뒤에 넣는 동작을 하기 때문에 기본적인 큐 활용 문제입니다. 규칙을 잘 생각해서 코드를 짜고 언제 반복문을 나갈지 조금만 생각해보면 쉽게 풀 수 있답니당. import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = 10; for(int test_case = 1; test_case [SWEA-1218][스택] 괄호 짝짓기 - Java 기본적인 스택 활용 문제입니다. 처음에는 인풋으로 들어온 괄호문자들을 전부다 스택에 넣고 빼면서 어째저째 해볼랬는데 생각이 안나서 하나하나씩 봐주면서 넣고 빼고 했습니다. import java.util.Scanner; import java.util.Stack; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] left = {'(', '', '}', ']'}; for(int test_case = 1; test_case 이전 1 ··· 17 18 19 20 21 22 다음