[BOJ/] 백준 7662 - 이중 우선순위 큐 (Java)
·
💻/코딩테스트
7662 - 이중 우선순위 큐https://www.acmicpc.net/problem/7662문제이중 우선순위 큐(dual priority queue): 전형적인 우선순위 큐처럼 데이터를 삽입, 삭제할 수 있는 자료 구조/ 차이점: 데이터를 삭제할 때 연산(operation) 명령에 따라 우선순위가 가장 높은/낮은 데이터 중 하나 삭제데이터 삽입/삭제(우선순위 높은/낮은 것 삭제) 연산입력첫째 줄: 입력 데이터의 수를 나타내는 정수 T각 테스트 데이터의 첫째 줄에는 Q에 적용할 연산의 개수 나타내는 정수 k (k k줄에는 연산을 나타내는 문자('D', 'I')와 정수 n 주어짐I n: 정수 n을 Q에 삽입/ D -1: Q에서 최솟값 삭제/ D 1: Q에서 최댓값 삭제최댓값(최솟값)을 삭제하는 연산에서 최..
[BOJ/] 백준 1966 - 프린터 큐 (Java)
·
💻/코딩테스트
1966 - 프린터 https://www.acmicpc.net/problem/1966문제여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO(First-In-First-Out)에 따라 요청된 것 먼저 인쇄But, 새로운 프린터기 내부 소프트웨어 개발1. 현재 Queue의 가장 앞에 있는 문서의 중요도 확인2. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 O -> 이 문서 인쇄 X Queue의 가장 뒤에 재배치/ 그렇지 않다면 바로 인쇄ex. Queue에 4개의 문서 (A, B, C, D)/ 중요도: 2 1 4 3 => C -> D -> A -> B 인쇄=> 어떤 한 문서가 몇 번째로 인쇄되는지? 입력첫째 줄: 테스트케이스의 수 테스트케이스의 첫째 줄: 문서의 개수 N (1 ,..
[BOJ/] 백준 2161 - 카드 1 / 2164 - 카드 2 (Java)
·
💻/코딩테스트
2161 - 카드 1https://www.acmicpc.net/problem/2161문제각각의 카드는 차례로 1부터 N까지 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 순서대로 카드가 놓여 있음제일 위에 있는 카드 버림 -> 그 다음, 제일 위에 있는 카드를 제일 아래 있는 카드 밑으로 옮김ex. N = 4/ 제일 위에서부터 1 2 3 4 순서1 버림 -> 2 3 4 / 2 아래로 -> 3 4 2 / 3 버림 -> 4 2 / 4 아래로 -> 2 4 / 2 버림 -> 4=> N이 주어졌을 때, 제일 마지막에 남게 되는 카드?입력: 정수 N (1 출력: 버리게 되는 카드들 순서대로 출력 코드import java.io.*;import java.util.*;// 카드1public cl..
[BOJ/] 백준 2276 - 암기왕 (Java)
·
💻/코딩테스트
2276 - 암기왕https://www.acmicpc.net/problem/2776문제연종이 하루 동안 본 정수들을 수첩1에 적어 놓았다. 그것을 바탕으로 그가 진짜 암기왕인지 알아보기 위해, 동규는 연종이에게 M개의 질문을 던졌다. 연종이가 봤다고 주장하는 수들을 수첩2에 적어 놓았다.=> 수첩2에 적혀있는 순서대로, 각각의 수에 대하여 수첩1에 있으면 1/ 없으면 0 출력입력첫째 줄: 테스트케이스 개수 T 수첩 1에 적어 놓은 정수의 개수 N (1 수첩 1에 적혀 있는 정수들이 입력으로 들어옴수첩 2에 적어 놓은 정수의 개수 M (1 수첩 2에 적어 있는 정수들이 입력으로 들어옴출력수첩 2에 적혀있는 M개의 숫자 순서대로 수첩 1에 있으면 1/ 없으면 0 출력풀이ver1 이진 탐색리스트 정렬되어 있을..
[BOJ/] 백준 2293 - 동전 1 / 2294 - 동전 2 (Java)
·
💻/코딩테스트
2293 - 동전 1https://www.acmicpc.net/problem/2293문제n가지 종류의 동전/ 각각의 동전이 나타내는 가치는 다름동전을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶음각각의 동전은 몇 개라도 사용할 수 있음사용한 동전의 구성이 같은데, 순서만 다른 것은 같은 경우입력첫째 줄: n (1 n개의 줄에는 각각의 동전의 가치가 주어짐 (자연수) (출력: 경우의 수 (풀이이전 결과 이용해서 다음 결과 구해야 함=> 작은 문제의 해를 저장하면서 큰 문제 해결: DP `dp[i]`: i원을 만드는 경우의 수`dp[0] = 1`: 0원을 만드는 경우는 아무 동전도 사용 X => 1가지`dp[j] += dp[j - i]`: 현재 금액 j를 만드는 방법은, j - i원 만든 다음..
[BOJ/] 백준 2606 - 바이러스 (Java)
·
💻/코딩테스트
2606 - 바이러스https://www.acmicpc.net/problem/2606문제신종 바이러스인 웜 바이러스는 네트워크를 통해 전파됨한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 됨ex. 7대의 컴퓨터가 네트워크 상에 연결1번 컴퓨터가 웜 바이러스 걸림 -> 2, 5번 거쳐 3, 6번까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸림But, 4번과 7번 컴퓨터: 1번 컴퓨터와 네트워크상에 연결 X -> 영향 X입력첫째 줄: 컴퓨터의 수 (양의 정수) 둘째 줄: 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어짐그 수만큼 한 줄에 한 쌍씩 네트워크 상에서 직접 연결되어 있는 컴퓨터 번호 쌍이 주어짐출력1번..
kimmeoww
빙글빙글 돌아가는 Debug 하루