본문 바로가기

알고리즘 문제풀이153

[알고리즘/백준] 15683 감시 - 자바(Java), 삼성 SW 역량테스트 문제 https://www.acmicpc.net/problem/15683 풀이 코드 DFS를 사용하여 CCTV들 방향의 모든 조합을 구한다. 각 경우의 수 마다 사각지대 개수를 구하여 최소 사각지대 개수를 구한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main { static class CCTV { int type; int x; int y; public CCTV(int type, int x, int y) .. 2021. 10. 31.
[알고리즘/백준] 1012 유기농 배추 - 자바(Java), BFS 문제 https://www.acmicpc.net/problem/1012 풀이 코드 BFS를 사용하여 풀이(DFS로도 풀이 가능) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int[] dx = {-1, 0, 1, 0}; static int[] dy = {0, 1, 0, -1}; static class Pos { int x; int y; public Pos(int x, int y) { this.x = x; this.y = y; } } public static void bfs(int[][] board, i.. 2021. 10. 29.
[알고리즘/백준] 14891 톱니바퀴 - 자바(Java), 삼성 SW 역량테스트, 구현 문제 https://www.acmicpc.net/problem/14891 풀이 코드 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.in)); //wheel[i][j] : i번쨰 바퀴의 j번째 톱니바퀴 //j : 0 -> 12시방향 톱니바퀴, 4 -> 6시방향 톱니바퀴 int[][] wheel.. 2021. 10. 27.
[알고리즘/백준] 20055 컨베이어 벨트 위의 로봇 - 자바(Java), 삼성 SW 역량테스트, 구현 문제 https://www.acmicpc.net/problem/20055 풀이 코드 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.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.. 2021. 10. 25.
[프로그래머스] 튜플 - 자바(Java), 2019 카카오 개발자 겨울 인턴십 문제 https://programmers.co.kr/learn/courses/30/lessons/64065 풀이 코드 주어진 집합을 길이를 기준으로 오름차순으로 정렬하여 길이가 제일 짧은 집합부터 순차적으로 모든 집합의 원소들을 순서를 유지하면서 중복을 허용하지 않는 LinkeHashSet에 add 해주면 튜플이 만들어지고 배열로 변환하여 반환하면 된다. import java.util.*; class Solution { public int[] solution(String s) { List list = new ArrayList(); //괄호를 제거하여 각 집합을 숫자와 ,로 이루어진 문자열로 만든다. int start = 2; for(int end = 2; end < s.length()-1; end++) .. 2021. 10. 22.
[프로그래머스] 행렬 테두리 회전하기 - 자바(Java), 구현, 2021 Dev-Matching: 웹 백엔드(상반기) 문제 https://programmers.co.kr/learn/courses/30/lessons/77485 풀이 코드 - 구현 풀이 과정 좌측 상단 테두리 (x1, y1) 위치의 값을 저장해 놓는다. 행렬의 좌측 테두리 -> 하단 테두리 -> 우측 테두리 -> 상단 테두리 순으로 시계 방향으로 행렬의 값을 한칸씩 이동시킨다. 저장해 두었던 좌측 상단 테두리 값을 (x1, y1+1) 위치에 저장한다. class Solution { public int[] solution(int rows, int columns, int[][] queries) { int[] answer = new int[queries.length]; int[][] board = new int[rows+1][columns+1]; int num .. 2021. 10. 21.