본문 바로가기

전체 글

(118)
[Baekjoon 13915] Hot Air Ballooning - JAVA [Silver III] Hot Air Ballooning - 13915 문제 링크 성능 요약 메모리: 16680 KB, 시간: 164 ms 분류 비트마스킹, 자료 구조, 해시를 사용한 집합과 맵, 정렬, 트리를 사용한 집합과 맵 문제 설명 Dave is the director of the Summer school of hot air ballooning. Being a responsible director, he keeps a list of flights of each trainee in the school. After each flight, Dave appends a note to the lists of flights of each trainee participating in that particular..
[Baekjoon 25184] 동가수열 구하기 - JAVA [Silver IV] 동가수열 구하기 - 25184 문제 링크 성능 요약 메모리: 14296 KB, 시간: 140 ms 분류 해 구성하기 문제 설명 길이가 $N$인 동가수열은 다음 두 조건을 만족하는 수열이다. 동가수열은 $1$ 이상 $N$ 이하인 정수로 이루어져 있고, 모든 원소는 서로 다르다. 동가수열의 서로 이웃한 원소의 차는 $\lfloor \frac{N}{2} \rfloor$이상이다. 길이가 $N$인 동가수열을 아무거나 하나 구해보자. 주어지는 모든 입력에 대해 동가수열은 항상 존재한다. 입력 첫째 줄에 구하고자 하는 동가수열의 길이 $N$($1 \le N \le 5\,000$)이 주어진다. 출력 첫째 줄에 길이가 $N$인 동가수열을 아무거나 하나 출력한다. 동가수열은 공백으로 구분해서 출력해야..
[Baekjoon 14426] 접두사 찾기 - JAVA [Silver I] 접두사 찾기 - 14426 문제 링크 성능 요약 메모리: 300400 KB, 시간: 748 ms 분류 이분 탐색, 자료 구조, 문자열, 트리, 트라이 문제 설명 문자열 S의 접두사란 S의 가장 앞에서부터 부분 문자열을 의미한다. 예를 들어, S = "codeplus"의 접두사는 "code", "co", "codepl", "codeplus"가 있고, "plus", "s", "cude", "crud"는 접두사가 아니다. 총 N개의 문자열로 이루어진 집합 S가 주어진다. 입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 문자열 중 적어도 하나의 접두사인 것의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ..
[Baekjoon 14465] 소가 길을 건너간 이유 5 - JAVA [Silver II] 소가 길을 건너간 이유 5 - 14465 문제 링크 성능 요약 메모리: 14960 KB, 시간: 136 ms 분류 누적 합, 슬라이딩 윈도우 문제 설명 농부 존의 농장에 원형 길이 있다고 했지만, 길은 그뿐만이 아니다. 그 옆에 일자형 길이 있는데, 1번부터 N번까지의 번호가 붙은 횡단보도 N (1 ≤ N ≤ 100,000)개로 이루어져 있다. 교통사고를 방지하기 위해 존은 각 횡단보도에 신호등을 설치해 놓았다. 그러던 어느 날, 강력한 뇌우로 인해 몇몇 신호등이 망가졌다. 존은 연속한 K개의 신호등이 존재하도록 신호등을 수리하고 싶다. 이번에도 우리가 존을 도와주자. 입력 첫 줄에 N, K, B (1 ≤ B,K ≤ N)가 주어진다. 그 다음 B줄에는 고장난 신호등의 번호가 하나씩 ..
[Baekjoon 19638] 센티와 마법의 뿅망치 - JAVA [Silver I] 센티와 마법의 뿅망치 - 19638 문제 링크 성능 요약 메모리: 28372 KB, 시간: 388 ms 분류 자료 구조, 구현, 우선순위 큐 문제 설명 센티는 마법 도구들을 지니고 여행을 떠나는 것이 취미인 악당이다. 거인의 나라에 도착한 센티는 자신보다 키가 크거나 같은 거인들이 있다는 사실이 마음에 들지 않았다. 센티가 꺼내 들은 마법 도구는 바로 마법의 뿅망치로, 이 뿅망치에 맞은 사람의 키가 ⌊ 뿅망치에 맞은 사람의 키 / 2 ⌋로 변하는 마법 도구이다. 단, 키가 1인 경우 더 줄어들 수가 없어 뿅망치의 영향을 받지 않는다. 하지만 마법의 뿅망치는 횟수 제한이 있다. 그래서 센티는 마법의 뿅망치를 효율적으로 사용하기 위한 전략을 수립했다. 바로 매번 가장 키가 큰 거인 가운데..
[Baekjoon 6148] Bookshelf 2 - JAVA [Silver IV] Bookshelf 2 - 6148 문제 링크 성능 요약 메모리: 16852 KB, 시간: 232 ms 분류 백트래킹, 비트마스킹, 브루트포스 알고리즘, 깊이 우선 탐색, 그래프 이론, 그래프 탐색 문제 설명 Farmer John recently bought another bookshelf for the cow library, but the shelf is getting filled up quite quickly, and now the only available space is at the top. FJ has N cows (1
[Baekjoon 14397] 해변 - JAVA [Silver IV] 해변 - 14397 문제 링크 성능 요약 메모리: 14216 KB, 시간: 128 ms 분류 그래프 이론, 그래프 탐색, 구현 문제 설명 단위 정육각형 이루어져 있는 지도가 주어졌을 때, 해변의 길이를 구하는 프로그램을 작성하시오. 해변은 정육각형의 변 중에서 한 쪽은 물인데, 한 쪽은 땅인 곳을 의미한다. 입력 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 지도가 주어진다. '.'은 물, '#'은 땅이다. 출력 첫째 줄에 해변의 길이를 출력한다. 문제 풀이 지도와 정육각형의 구조에 대한 개념을 이해해야 한다. 주어진 지도에는 단위 정육각형들이 격자 형태로 배열되어 있다. 이 정육각형들의 변 중에서 한 쪽은 물이고,..
[Baekjoon 17198] Bucket Brigade - JAVA [Silver IV] Bucket Brigade - 17198 문제 링크 성능 요약 메모리: 14048 KB, 시간: 120 ms 분류 너비 우선 탐색, 그래프 이론, 그래프 탐색 문제 설명 A fire has broken out on the farm, and the cows are rushing to try and put it out! The farm is described by a 10×10$10 \times 10$ grid of characters like this: .......... .......... .......... ..B....... .......... .....R.... .......... .......... .....L.... .......... The character 'B' rep..