Algorithm/with Java(71)
-
[알고리즘] 풀었던 문제 (240213 ~ 16)
1. 16435. 스네이크버드 그리디 알고리즘 - 정렬 16435번: 스네이크버드 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다. www.acmicpc.net 2. 2839. 설탕 배달 그리디 알고리즘 - 동전 자판기 변형 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 3. 1860. 진기의 최고급 붕어빵 시뮬레이션 SW Exp..
2024.02.19 -
[알고리즘] 7576. 토마토
0. 문제 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 1. 문제 이해 그래프 BFS 2. 제출 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Queue; import java.util.StringTokenizer; public class BOJ7576 { static int n, m, ret; static int[][] map; stati..
2024.02.19 -
[알고리즘] 1247. 최적경로
0. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 이해 백트래킹 순열 DP 2. 제출 가. 순열 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class SWEA1247 { static int n, ret; static boolean[] vis; static Point work, home; static Point[] custs; public static void main(String[] args) throw..
2024.02.19 -
[알고리즘] 9663. N-Queen
0. 문제 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 1. 문제 이해 백트래킹 2. 시간 초과 n이 14일 때 10초 이내로 통과해야 함. 가. 시간 초과 import java.util.Scanner; public class BOJ9663 { static int[] map; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // 체스판을 1차원 배열로 표현 // y행 x열 -> map[y*n ..
2024.02.19 -
[알고리즘] 1074. Z
0. 문제 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 1. 문제 이해 분할 정복 알고리즘 2. 제출 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BOJ1074 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new ..
2024.02.19 -
[Java] 분할정복, 백트레킹, 이진탐색
1. 분할 정복 Divide and Conquer 해결할 문제를 여러 작은 부분 문제로 나눈다. 나눈 작은 문제를 각각 해결한다. 접근법 Top-down approach bottom-up approach // Power 함수 import java.util.Scanner; // x^n을 O(logN) 시간복잡도로 구하는 분할 정복 알고리즘 public class SquareNumberTest { static int callCnt1; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int n = sc.nextInt(); // 최대 10억 System.out.println(exp1..
2024.02.19 -
[알고리즘] 1183. 동전 자판기 (하)
0. 문제 JUNGOL code_blocks 코드 보기 www.jungol.co.kr 1. 문제 이해 그리디 - 동전자판기 변형 2. 제출 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class JOL1183 { static int W, allMoney, useCnt; static int[] cnt, ret; static final int[] coins = { 500, 100, 50, 10, 5, 1}; public static void main(String[] args) throws Exception { BufferedReader br = new Buffere..
2024.02.19 -
[알고리즘] 1828. 냉장고
0. 문제 JUNGOL code_blocks 코드 보기 www.jungol.co.kr 1. 문제 이해 그리디 알고리즘 - Activity-Selection Problem 2. 제출 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class JOL1828 { static int N; static Thing[] arr; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamRead..
2024.02.19