백준/정렬 3

[백준] 1092 : 배 (JAVA)

https://www.acmicpc.net/problem/1092[풀이과정]처음에 복잡도가 N*M인 코드를 작성했는데 틀렸다. 왜 틀렸는지 아직도 잘 모르겠음..가장 중요했던 건 내림차순으로 정렬하는 것인 것 같다. 가장 큰 수들끼리 비교해서 옮기지 못 하면 -1 반환하고, 아니면 계산했는데,만약 크레인 무게 제한이 20 10 10일 때, 박스 무게가 20 20 10인 경우를 가정했을 때 20 10 / 20 이렇게 두 번 옮겨져야 한다. 그럼 박스를 가리키는 idx를 어떻게 앞으로 옮길지 엄청 고민했는데, 박스를 삭제하면 되는 일이었다. 옮겨진 박스를 삭제하면서 while문에서 초기화를 0으로 해주면 저절로 남겨진 박스 중 가장 무거운 박스를 가리키게 된다.  [코드]import java.io.Buffe..

백준/정렬 2024.09.13

[백준] 2751 : 수 정렬하기 2

https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net N의 최대 크기가 1000,000이기 때문에 시간복잡도를 줄이는 게 중요하다고 생각함. Collections의 sort 메소드를 사용했는데, 그래도 시간이 많이 나온 것 같다. 내 코드 메모리 : 129832 KB 시간 : 1416 ms 코드길이 : 670 B [내 코드] import java.io.BufferedReader; import java.io.IOException; impor..

백준/정렬 2023.04.07

[백준] 10867 : 중복 빼고 정렬하기

https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net HashSet이라는 인터페이스 개념과 Iterator를 공부하게 됐다. 향상된 for문이라는 개념도 공부했음. 메모리 : 25008 KB 시간 : 336 ms 코드길이 : 840 B [내 코드] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import jav..

백준/정렬 2023.04.07