728x90
첫번째 풀이 Scanner , print 사용
package BAEKJOON.Silver.Ⅰ;
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Scanner;
public class NO11296_2 {
static int n;
static PriorityQueue<Integer> Q = new PriorityQueue<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// 절대값 기준으로 앞 값이 더크다면 자리를 바꿔준다.
if(Math.abs(o1) > Math.abs(o2)) {
return 1;
//절대값이 같으면 오름차순으로 정렬
} else if (Math.abs(o1) == Math.abs(o2)) {
return o1 - o2;
} else {
return -1;
}
}
});
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
for (int i = 0; i < n; i++) {
int num = sc.nextInt();
if(num == 0) {
if(!Q.isEmpty()) {
System.out.println(Q.poll());
} else {
System.out.println(0);
}
} else {
Q.offer(num);
}
}
}
}
블로그 참고해서 BuffedReader , StringBuilder 사용
package BAEKJOON.Silver.Ⅰ;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.PriorityQueue;
public class NO11296 {
static int n;
static PriorityQueue<Integer> Q = new PriorityQueue<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// 절대값 기준으로 앞 값이 더크다면 자리를 바꿔준다.
if(Math.abs(o1) > Math.abs(o2)) {
return 1;
//절대값이 같으면 오름차순으로 정렬
} else if (Math.abs(o1) == Math.abs(o2)) {
return o1 - o2;
} else {
return -1;
}
}
});
public static void main(String[] args) throws IOException {
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++) {
int num = Integer.parseInt(br.readLine());
if(num == 0) {
if(!Q.isEmpty()) {
sb.append(Q.poll()).append("\n");
} else {
sb.append(0).append("\n");
}
} else {
Q.offer(num);
}
}
System.out.println(sb);
}
}
시간활용도가 꽤 많이 차이가 난다.
먼저, 풀이가 완성되고 풀이가 맞다면, 시간을 더 줄일 수 있는 코드를 작성해보는 것이 필요하다.
728x90
'Algorithm & SQL > BAEKJOON' 카테고리의 다른 글
백준 JAVA 14235 크리스마스 선물 (0) | 2022.08.02 |
---|---|
백준 JAVA 15903 카드 합체 놀이 (0) | 2022.08.02 |
백준 JAVA 1715 카드 정렬하기 (0) | 2022.08.01 |
백준 JAVA 2075 N번째 큰수 (0) | 2022.08.01 |
백준 JAVA 7568 덩치 (0) | 2022.07.30 |
댓글