분류 전체보기
-
[JAVA] 백준 17136 색종이 붙이기알고리즘 공부/문제 풀이 2021. 10. 18. 23:17
https://www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net 풀이 후기 - 큰 종이를 먼저 붙이는 것은 그리디한 접근 방식이라고 할 수 있다. 하지만 언제나 큰 종이를 붙이는 건 예외가 존재하기 때문에 모든 경우를 탐색해야 한다. - N-Queen문제가 생각났는데 가능하면 진행하고 불가능하면 다음 방법을 모색한다 => 백트래킹 - 처음에는 색종이를 붙이고 땔 때 과정을 복잡하게 생각했는데, 그냥 방문 표시 했다가 진행 후 다시 백 할때 방문 표시를..
-
[JAVA] 백준 17140 이차원 배열과 연산알고리즘 공부/문제 풀이 2021. 10. 16. 14:08
https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net import java.util.*; public class Main { public static class Node implements Comparable{ int val; int cnt; public Node(int v, int c){ val = v; cnt = c; } public int compareTo(Node o){ if(cnt==o.cnt) return val-o.val; ..
-
[JAVA] 백준 16438 원숭이 스포츠알고리즘 공부/문제 풀이 2021. 10. 14. 22:32
https://www.acmicpc.net/problem/16438 16438번: 원숭이 스포츠 승민이는 동물원의 원숭이들을 관리하는 사육사입니다. 이 동물원에는 N마리의 원숭이들이 있고 원숭이들에게 1번부터 N번까지 번호를 붙였습니다. 7일간 동물원에서 원숭이들끼리 스포츠 경기 www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); monkeys = new char[7][N]; StringBuilder sb = new StringBuilder(); for(int i=0;i
-
[JAVA] 백준 4095 최대 정사각형알고리즘 공부/문제 풀이 2021. 10. 8. 15:21
https://www.acmicpc.net/problem/4095 4095번: 최대 정사각형 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 N과 M이 주어진다. (1 ≤ N,M ≤ 1,000) 다음 N개의 줄에는 공백으로 구분된 M개의 수가 주어진다. 마지막 줄에는 0이 두 www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; St..
-
[JAVA] 백준 2638 치즈알고리즘 공부/문제 풀이 2021. 10. 7. 22:05
https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new S..
-
[JAVA] SWEA 4014 활주로 건설알고리즘 공부/문제 풀이 2021. 10. 6. 17:03
문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 설명은 링크를 이용해주세요. import java.util.*; import java.io.*; public class Solution { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); for(int t=1; t
-
[JAVA] 백준 17471 게리맨더링알고리즘 공부/문제 풀이 2021. 10. 6. 11:28
https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net import java.util.*; import java.io.*; public class Main { static int N, total=0, min = Integer.MAX_VALUE; static int[] people; static ArrayList[] graph; public static void main(String[] args) throws Exception { BufferedReader br = new ..
-
[JAVA] SWEA 탈주범 검거알고리즘 공부/문제 풀이 2021. 9. 30. 21:14
문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com import java.util.*; import java.io.*; public class Solution { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); for(int t=1; t