반응형
처음에는 단순히 등수만 구하는 문제라고 생각했다.
문제를 풀긴 풀었는데 BufferedReader를 붙이고 StringBuilder를 쓰고 해도 시간초과가 나서 결국 다른 분들이 푼 방식을 보고 문제를 해결하였다...
❗️❗️ 틀린 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] list = new int[N];
int[] rank = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
for(int i=0; i<N; i++){
list[i] = Integer.parseInt(st.nextToken());
}
while(true){
for(int i=0; i<N; i++){
rank[i] = 0;
for(int j=0; j<N; j++){
if(list[i] > list[j]){
rank[i] = rank[i]+1;
}
}
}
break;
}
for(int i=0; i<N; i++){
System.out.print(rank[i] + " ");
}
br.close();
}
}
내가 참고한 블로그는 이쪽이다..
https://st-lab.tistory.com/279
해결하지 못할 때마다 많은 도움을 받고있어 정말 감사한 분이다...
HashMap을 사용해서 등수를 매길 값들과 등수 값을 넣어서 해결하면 된다....
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
int[] list = new int[N];
int[] sorting = new int[N];
HashMap <Integer, Integer> map = new HashMap<Integer, Integer>();
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
for(int i=0; i<N; i++){
list[i] = Integer.parseInt(st.nextToken());
sorting[i] = list[i];
}
Arrays.sort(sorting);
int rank = 0;
for(int i : sorting){
if(!map.containsKey(i)){
map.put(i, rank);
rank++;
}
}
for(int i : list){
int ans = map.get(i);
sb.append(ans).append(' ');
}
System.out.println(sb);
br.close();
}
}
점점 갈수록 난이도가 높아지니 어렵다....
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 14425 - 문자열 집합 (JAVA/ 자바) (0) | 2024.07.16 |
---|---|
[백준] 10815 - 숫자 카드 (JAVA/ 자바) (0) | 2024.07.14 |
[백준] 10814 - 나이순 정렬 (JAVA/ 자바) (0) | 2024.06.18 |
[백준] 1181 - 단어 정렬 (JAVA/ 자바) (1) | 2024.06.13 |
[백준] 11651 - 좌표 정렬하기 2 (JAVA/ 자바) (0) | 2024.06.11 |