본문 바로가기

PS23

[백준] 해킹 - 28283 Java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; /** * 네트워크 안에는 N개의 컴퓨터가 존재(1, 2, 3, ... N) * 서로 다른 두 컴퓨터 쌍을 연결하는 M개의 통신 * i번째 통신망은 S_i번 컴퓨터와 E_i번 컴퓨터를 잇고 있다. * 두 컴퓨터 쌍을 연결하는 통신망은 최대 한 개 존재. * X개의 컴퓨터 동시 해킹, 해킹 후 1분 뒤 부터 A_i 만큼 돈 갈취 * 해킹하고 난 후 0.5분부터 B_1, B_2, B_y에 보안 프로그램 설치 * 해킹/보안 프로그램은 연결된 네트워크 망의 컴퓨터로 전달 */ public class Main { .. 2024. 4. 8.
[백준] ATM - 11399 Java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { /** * 그리디 * 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. * 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) * 가장 시간이 적게 사람들을 줄을 세우는 방법 * 입력 예) * 5 * 3 1 4 3 2 * 출력 예) * 32 */ public static void main(String[] args) throws IOExcep.. 2024. 4. 8.
[백준] 주유소 - 13305 Java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { /** * 주유소 * 주유소 마다 리터강 가격이 주어지며 주유소 사이에 거리가 주어진다. * 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. * 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1개의 자연수로 주어진다. * 다음 줄에는 주유소의 리터당 가격이 제일 왼쪽 도시부터 순서대로 N개의 자연수로 주어진다. * 제일 왼쪽 도시부터 제일 오른쪽 도시까지의 거리는 1이상 1.. 2024. 4. 8.
[프로그래머스] 리코쳇 로봇 - Java BFS로 분 프로그래머스 문제이다. import java.util.*; // 최소 몇 번 이동인지 이므로 BFS // 장애물이나 벽을 만날 때 까지 이동이 1번의 이동 // x, y 좌표를 표기하기 위한 Node 클래스 필요 // BFS를 위해 사용할 Queue 필요 class Solution { static int[] dx = {-1, 1, 0, 0}; static int[] dy = {0, 0, -1, 1}; static int N; static int M; public int solution(String[] board) { int answer = 0; int start_x = -1, start_y = -1; N = board.length; M = board[0].length(); for(int i .. 2024. 3. 6.