반응형
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception{
int N,M=0;
int [] plusNum=new int[10000001];
int [] minusNum=new int[10000001];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
String[]strNum=br.readLine().split(" ");
M = Integer.parseInt(br.readLine());
String[]strmNum=br.readLine().split(" ");
StringBuilder sb = new StringBuilder();
for(int i=0;i<N;i++) { //카운트 정렬 세팅
int chk=Integer.parseInt(strNum[i]);
if(chk>=0) {
plusNum[chk]++;
}else {
minusNum[chk*(-1)]++;
}
}
for(int i=0;i<M;i++) {
int chk=Integer.parseInt(strmNum[i]);
if(chk>=0) {
sb.append(plusNum[chk]+" ");
}else {
sb.append(minusNum[chk*(-1)]+" ");
}
}
System.out.print(sb);
}
}
카운트 정렬을 이용하여 풀었습니다.
배열을 두개로 만들지 않고 한개로 만들어서 구현하면 더 좋을거 같습니다.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
[알고리즘] 백준 1874번: 스택 수열 JAVA (0) | 2021.04.12 |
---|---|
[알고리즘] 백준 9012번: 괄호 JAVA (0) | 2021.04.06 |
백준 10867번 : 중복 빼고 정렬하기 JAVA (0) | 2021.01.14 |
[알고리즘] 백준 11650, 11651번: 좌표 정렬하기, 좌료 정렬하기2 JAVA (0) | 2021.01.14 |
[알고리즘] 백준 1181번: 단어정렬 JAVA (0) | 2021.01.07 |
댓글