차곡차곡 성 쌓기
article thumbnail
[백준] 최소 힙 : 1927 - 우선순위 큐 (S2)
알고리즘/백준 2023. 11. 17. 22:08

1. 💎 문제 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 2. 🤔어떻게 풀까 저번에 풀어봤던 문제랑 비슷해서 그때 처럼 `TreeMap`을 써서 풀기로 했다. 조건은 가장 작은 수를 단 번에 꺼낼 수 있어야 한다는 것과 중복값을 포함할 수 있어야 한다는 것이다. 가장 작은 수를 앞에서 꺼내기 위해 정렬을 한 후 넣으면 시간 초과가 난다. TreeSet 또는 TreeMap 삽입과 동시에 정렬을 해서 넣어준다. 이진 탐색으로 구현되어 있다. -정렬 방법 변경- 생성할 때 Compartor..

article thumbnail
[S5] 1427 : Java - 소트인사이드 : 선택 정렬
알고리즘/백준 2023. 8. 16. 00:54

문제 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 접근법 N은 최대 10자리 숫자로 매우 큰 메모리 공간을 차지함. 하지만 이 문제는 자릿수의 숫자들을 뽑아 정렬하는 것이므로 String 객체로 입력을 받아 쪼개 Int형 배열로 만드는 것이 효율적이라 생각이 들었다. 그 후 최대 10개의 숫자를 정렬하는 것은 아무 정렬법이나 쓰면 된다. 풀이 코드 public class Main { public static void main(String[] args) throws IOException { // 문자열로 입력 받기 Scanner..

article thumbnail
[kotlin, Java] ByteArrayOutputStream과 ByteBuffer의 차이
IT 정보 2023. 8. 1. 01:22

ByteArrayOutputStream과 ByteBuffer는 모두 데이터를 저장하고 조작하는 데 사용되는 클래스이다. 그러나 사용 목적과 동작 방식에 차이가 있다. ByteArrayOutputStream ByteArrayOutputStream은 Java의 java.io 패키지에 속하는 클래스로, 바이트 데이터를 메모리에 버퍼로 저장하는 역할을 한다. 데이터를 쓰는 작업(Write)을 주로 수행 한다. 따라서 데이터를 추가하거나 쓸 때는 내부적으로 자동으로 크기가 조정된다. 버퍼의 크기가 부족할 경우 (현재 사이즈)* 2 방식으로 조정 된다. 이때 버퍼의 메모리는 새롭게 할당된다. ByteArrayOutputStream에 데이터를 쓰는 경우, 버퍼에 데이터가 계속 추가되며, 필요한 시점에서 데이터를 가져..