Algorithm/자료구조(11)
-
[Java] 백준(Baekjoon) 1927. 최소 힙
https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 [1회차] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { public st..
2024.01.25 -
[Java] 백준(Baekjoon) 1764. 듣보잡
https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 풀이 package dataStructure; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.util.StringTokenizer; public class Ex1764 { public static void ma..
2024.01.25 -
[Java] 백준(Baekjoon) 1158. 요세푸스 문제
https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 풀이 인덱스 지정하여 삭제 후, 인덱스 재조정 필요 => ArrayList 1 2 3 4 5 6 7 //3(idx=2) 1 2 4 5 6 7 //6(idx=4) idx(4)+= idx(2)+(k(3)-1) 1 2 4 5 7 //2(idx=1) idx+=idx+(k-1)을 하면 4+2= 6 -> 1로 만들려면 현재 배열의 사이즈로 나눈 나머지로 인덱스를 변경 package dataStructure; import java.io.BufferedReader; import java.io.IOExc..
2024.01.24 -
[Java] 백준(Baekjoon) 10845. 큐
https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 큐 : FIFO, 선입선출 => LinkedList로 구현 package dataStructure; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.StringTokenizer;..
2024.01.24 -
Data Distructure(자료구조)
Collection Framework(컬렉션 프레임워크) 1. List : 인터페이스 동일한 데이터의 중복을 허용한다. 데이터 저장 순서가 유지된다. 힙(heap) 영역 내에서 List는 객체를 일렬로 늘어놓은 구조를 하고 있다. 객체를 인덱스로 관리하기 때문에 객체를 저장하면 자동으로 인덱스가 부여되고 인덱스로 객체를 검색, 삭제할 수 있다. 이 때 List 컬렉션은 객체 자체를 저장하여 인덱스를 부여하는 게 아니라, 해당하는 인덱스에 객체의 주소값을 참조하여 저장한다. List 컬렉션에서 공통적으로 사용가능한 추가, 검색, 삭제 메소드를 갖고있다. : List 인터페이스의 구현 클래스로, 여기서의 객체는 인덱스로 관리된다. ArrayList에 객체를 추가하면 객체가 인덱스로 관리되는 것이다. 이 점은..
2024.01.24