목록Java (79)
It's easy, if you try
문제 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static ArrayList[][] map; // 상어의 위치 static ArrayList[][] smellMap; // 상어의 냄새 정보 static Map orders; // 상어의 이동 우선순위 static int N; // 격자 범위 static int M; // 상어 숫자 static int k..
문제 23290번: 마법사 상어와 복제 첫째 줄에 물고기의 수 M, 상어가 마법을 연습한 횟수 S가 주어진다. 둘째 줄부터 M개의 줄에는 물고기의 정보 fx, fy, d가 주어진다. (fx, fy)는 물고기의 위치를 의미하고, d는 방향을 의미한다. 방향 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static int minNum; // 상어 이동 방향 사전순 제일 높은것 (숫자가 낮은) static int maxFishNum; // 상어가 가장 많이 먹을 수 있는 물고기 수 static ArrayList[][] map; static int[][] smellMap; static ArrayList copyFish;..
문제 23289번: 온풍기 안녕! 유난히 추운 날씨가 예상되는 이번 겨울을 대비하기 위해 구사과는 온풍기를 설치하려고 한다. 온풍기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static int[][] map; static boolean[][] visited; static List checkAreas; static List machines; static boolean[][][][] wall; static int N, M, K, W; static int[] dx = {0, 0, 0, -1, 1}; // 1우, 2좌, 3상, ..
문제 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static int[] dx = { -1, -1, 0, 1, 1, 1, 0, -1}; static int[] dy = { 0, 1, 1, 1, 0, -1, -1, -1}; static List[][] map; static int N; static class Ball { int x, y, m, s, d; // cn..
문제 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static int N, M, oil, cnt = 0; static int[][] map, start, dest; static int[] taxi; public static void main(String[] args) throws IOException { BufferedReader br = new Buffered..
문제 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static Deque deque; static char[] func; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamW..
Final final은 메소드, 클래스, 변수에 붙여서 사용합니다. 1. Immutable 변수 final 변수 선언 시 추후에 수정이 불가합니다. final int COOKIE_SIZE = 3; 추후에 수정할 수 없기 때문에 초기화가 필수입니다. 2. final 함수 메소드 오버라이트를 제한합니다. 3. final 클래스 상속이 불가능한 클래스가 됩니다. Wrapper Class 도 final 클래스에 해당됩니다. Static과의 차이점 static은 모든 인스턴스에 공통된 값을 유지합니다. 또한, 메모리에 한번 할당되어 프로그램이 종료될 때 해제됩니다. static 또한 메소드, 클래스, 변수에 사용될 수 있습니다. static 변수는 정적 필드, static 메소드는 정적 메소드라고도 합니다. 이 ..
문제 17089번: 세 친구 첫째 줄에 사람의 수 N(3 ≤ N ≤ 4,000), 친구 관계의 수 M(0 ≤ M ≤ 4,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계를 의미하는 두 정수 A, B가 주어진다. 친구 관계는 A와 B, 그리고 B와 A가 친 www.acmicpc.net 풀이 A,B,C가 친구여야 한다는 점을 주의해야합니다! 이 점이 3중 for문 작성을 가능하게 하기 때문입니다. (친구가 아닌 경우 가지치기 가능) import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedRea..
문제 https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 풀이 import java.io.*; import java.util.*; class Solution { public int solution(String s) { int answer = 0; Stack st = new Stack(); for(char c: s.toCharArray()) { if(!st.isEmpty() && st.peek() ==..
문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static int[] list, nums; static StringBuilder sb; public static void main(String[] args) throws Exception { BufferedReader br = new ..