본문 바로가기

Algorithm/BOJ

(101)
[BOJ-17140][시뮬레이션] 이차원 배열과 연산 - Java 문제 바로가기 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 빡!구현입니당. 얼핏 보면 어려워 보이지만 하라는 대로 하면 됩니다 허허 import java.io.*; import java.util.*; public class Main { static class Node implements Comparable { int no, count; Node(int no, int cnt){ this.no = no; this.count = cnt; } public int compareTo(Node o) { if..
[BOJ-17143][시뮬레이션] 낚시왕 - Java 문제 바로가기 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 휴.. 삼성st 빡 구현입니다... 와 한시간 반만에 못풀엇넹 ㅎㅎ;; switch문에 break좀 잘 적자 악!!!!! 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 class Shark implements Comparable{..
[BOJ-1038][완전 탐색/조합] 감소하는 수 - Java 문제 바로가기 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 �� www.acmicpc.net N 번째 감소하는 수를 구하는 문제입니다. import java.io.*; import java.util.*; public class Main { static int[] numbers = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; static List nums = new ArrayList(); static List depthList; public static void comb(int depth, int idx, i..
[BOJ-16235][시뮬레이션] 나무 재테크 - Java 문제 바로가기 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net 빡구현 문제입니다. 비교적 빠른 시간에 다 짜고 제출했는데 시간초과가 떠서 쪼끔 골치 아팠슴니다... import java.io.*; import java.util.*; public class Main { static List[][] trees; static int[][] map; static int[][] nutrient; static int N, M, K; static int[] dy = {-1, -1, -1, 0, 0, 1, 1..
[BOJ-16234][시뮬레이션/BFS] 인구 이동 - Java 문제 바로가기 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모�� www.acmicpc.net 인접한 나라를 고려한다? 그렇다면 BFS져! import java.io.*; import java.util.*; public class Main { static class Dir{ int y, x; public Dir(int y, int x) { this.y = y; this.x = x; } } static int[][] map; static int N, L, R; static boolean[][] v; static int[] dy..
[BOJ-15685][시뮬레이션] 드래곤 커브 - Java 문제 바로가기 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커� www.acmicpc.net 전형적인 시뮬레이션에 규칙을 찾으면 아주 쉽게 풀 수 있는 문제입니다. import java.io.*; import java.util.*; public class Main { static int[] dy = {0, -1, 0, 1}; static int[] dx = {1, 0, -1, 0}; static boolean[][] map = new boolean[101][101]; public static void makeDr..
[BOJ-2252][위상 정렬] 줄 세우기 - Java 문제 바로가기 2252번: 줄 세우기 첫째 줄에 N(1≤N≤32,000), M(1≤M≤100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의미이�� 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 InputStreamReader(Sy..
[BOJ-16500][DP] 문자열 판별 - Java 문제 바로가기 16500번: 문자열 판별 첫째 줄에 길이가 100이하인 문자열 S가 주어진다. 둘째 줄에는 A에 포함된 문자열의 개수 N(1 ≤ N ≤ 100)이 주어진다. 셋째 줄부터 N개의 줄에는 A에 포함된 단어가 한 줄에 하나씩 주어진다. A에 �� www.acmicpc.net DP 엉엉 그래도 풀고야 말앗다 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Set A = new HashSet(); int[] d..