본문 바로가기

Algorithm/BOJ6

백준 3015번 : 오아시스 재결합 Java https://www.acmicpc.net/problem/3015 3015번: 오아시스 재결합 첫째 줄에 줄에서 기다리고 있는 사람의 수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에는 각 사람의 키가 나노미터 단위로 주어진다. 모든 사람의 키는 231 나노미터 보다 작다. 사람 www.acmicpc.net 스택을 이용하고 Pair 를 만들어내야 쉽게 풀 수 있는 문제 import java.util.HashSet; import java.util.Scanner; import java.util.Stack; class Pair { int num; int cnt; Pair(int num, int cnt) { this.num = num; this.cnt = cnt; } } public .. 2023. 2. 11.
백준 9250번 : 문자열 집합 판별 - 아호코라식 Java https://www.acmicpc.net/problem/9250 9250번: 문자열 집합 판별 집합 S는 크기가 N이고, 원소가 문자열인 집합이다. Q개의 문자열이 주어졌을 때, 각 문자열의 부분 문자열이 집합 S에 있는지 판별하는 프로그램을 작성하시오. 문자열의 여러 부분 문자열 중 하 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 .. 2023. 1. 6.
백준 5446번 : 용량 부족 - 트라이, Java https://www.acmicpc.net/problem/5446 5446번: 용량 부족 팀포2 덕후 연수는 팀포2를 다운받던 도중 하드 용량이 부족하다는 것을 알았다. 이때는 침착하게 팀포2를 하지 말거나 하드를 새로 사면 되지만 불가능했고, 결국 하드에서 쓸모없는 파일을 지 www.acmicpc.net 1.문제설명 주어지는 문자열을 바탕으로 트라이를 만들고 각 분기점에 대해 파일들을 한번에 지울 수 있는지 없는지 판별하여 모든 파일을 지우는 최소 횟수를 구해야 하는 문제이다. 우선 주어지는 N1개의 단어를 바탕으로 트라이를 구현한 후 지울 수 없는 단어 N2개에 대해서 이미 구현된 트라이에 해당 단어는 지울 수 없음을 마킹한다. 마킹이 완료되면 전체 트라이를 순회하면서 해당 분기를 지울 수 있으면 1.. 2023. 1. 2.
백준 3080번 : 아름다운 이름 - 트라이 , Java https://www.acmicpc.net/problem/3080 3080번: 아름다운 이름 상근 선생님은 학생들에게 번호를 붙여주려고 한다. 상근이는 미술 선생님이기 때문에, 이름의 순서도 아름다워야 한다고 생각한다. 따라서, 다음과 같은 규칙을 지켜서 번호를 정하려고 한다. www.acmicpc.net 1.문제설명 입력받는 이름들로 트라이 구조를 만들고 분기점과 문자열이 끝나는 점을 바탕으로 순열 계산을 하면 학생들을 배치할 수 있는 경우의 수를 구해낼 수 있다. 2.문제풀이코드 C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 4.. 2022. 12. 31.