본문 바로가기

Algorithm/BOJ

(101)
[BOJ-2309][완전 탐색/조합] 일곱 난쟁이 - Java 문제 바로가기 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 오랜만입니다,,,, ^^ 카카오 코테를 거나하게 말아먹고.... 라인 코테는 붙...었지만 필기가 남아 있고.... 다시 PS 를 열심히 해봅시다. 이 문제는 아아주 쉬운 문제랍니다. 모든 경우를 다 봐주면 되는데, 조건이 전혀 까다롭지 않아서 쉽게 풀 수 있습니다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exc..
[BOJ-17472][완전 탐색/MST] 다리 만들기 2 - Java 문제 바로가기 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net 모든 섬을 연결해야 한다... 최소 ... 하면... MST 입니다. package BOJ; import java.io.*; import java.util.*; public class Main { static class Dir{ int y, x; Dir(int y, int x){ this.y = y; this.x = x; } } static int N, M; static int[] dy = {1, -1, 0, 0}; static..
[BOJ-16236][시뮬레이션/BFS] 아기 상어 - Java 문제 바로가기 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가�� www.acmicpc.net 5개월전에 못풀었던 아기상어... 생각보다 수월하게 풀었슴니다 ^^~~ 메소드를 만들때 그게 무슨 일을 하고 뭘 리턴하는지 명확하게 정의하고 푸는 습관이 중요하다고 생각합니다~~ package BOJ; import java.io.*; import java.util.*; public class Main { static class Fish implements Comparable { Dir loc; int size; public Fish(Dir..
[BOJ-17144][시뮬레이션] 미세먼지 안녕! - Java 문제 바로가기 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 삼성 SW 역량 테스트 기출문제입니다. 특별한 알고리즘을 요하지 않는 단순 시뮬레이션 문제입니다. import java.io.*; import java.util.*; public class Main { static class Dir{ int y, x; Dir(int y, int x){ this.y = y; this.x = x; } } static int[] dy = {1, -1, 0, 0}; static int[] dx = {0, 0, 1, -1}..
[BOJ-14889][완전 탐색/조합] 스타트와 링크 - Java 문제 바로가기 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 삼성 SW 역량 테스트 기출문제입니다. 아마 개중에 가장 쉬운 문제가 아닐까 싶습니다. 조합을 만들어서 처리하면 됩니다. import java.io.*; import java.util.*; public class Main { static boolean[] selected; static int[][] S; static int N; static int answer = Integer.MAX_VALUE; public static int getAbility() { List sta..
[BOJ-18513][BFS] 샘터 - Java 문제 바로가기 18513번: 샘터 첫째 줄에 자연수 N과 K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N, K ≤ 100,000) 둘째 줄에 N개의 샘터의 위치가 공백을 기준으로 구분되어 정수 형태로 주어진다. (-100,000,000 ≤ 샘터의 위치 ≤ www.acmicpc.net 신박한 BFS 문제입니다. 입력으로 들어올 수 있는 샘터의 위치가 무려 -1억~1억임니다. 억소리가 납니다. import java.io.*; import java.util.*; public class Main { static int[] dx = {1, -1}; static final int HMIL = 100000000; static class Dir{ int cur, next; Dir(int cur, int next)..
[BOJ-2800][문자열 처리/비트 마스킹/스택] 괄호 제거 - Java 문제 바로가기 2800번: 괄호 제거 첫째 줄에 음이 아닌 정수로 이루어진 수식이 주어진다. 이 수식은 괄호가 올바르게 쳐져있다. 숫자, '+', '*', '-', '/', '(', ')'로만 이루어져 있다. 수식의 길이는 최대 200이고, 괄호 쌍은 적어도 1개 www.acmicpc.net 약간 카카오스러운 문제라고 생각합니다. 막 엄청 고오급 알고리즘을 요하는 문제는 아니지만 구현하는데 쪼끔 애먹었습니다.. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new Input..
[BOJ-15961][슬라이딩 윈도우] 회전 초밥 - Java 문제 바로가기 15961번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 3,000,000, 2 ≤ d ≤ 3,000, 2 www.acmicpc.net 먹을 수 있는 초밥의 가짓수의 최댓값을 구하는 문제입니다. 초밥 개수가 최대 300만개이기 때문에 무식하게 N^2 하면 난리가 납니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public..