본문 바로가기
⑤ IT Start/Application

[java] Comparable을 이용해 Pair 클래스 정렬하기

by ->^_^<- 2021. 9. 5.

입력된 인덱스 값과 정렬된 값을 함께 저장하는 방법

import java.util.*;

class Pair implements Comparable<Pair>{     
   int index;
   int number;
   
   public Pair(int index, int number) {    // 생성자
      super();
      this.index = index;
      this.number = number;
   }
   
   // number 기준으로 오름차순
   @Override
   public int compareTo(Pair p) {
      return Integer.compare(this.num, p.number);
   }  

}

public class void main(String[] args) {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
    int M = Integer.parseInt(br.readLine());
    
    Pair[] pairs = new Pair[M];
    
    StringTokenizer st = new StringTokenizer(br.readLine());
    for(int i = 0; i < M; i++) {
    	int data = Integer.parseInt(st.nextToken());
        pairs[i] = new Pair(index: i+ 1, data);
    }
    
    Arrays.sort(pairs);
    
    for (Pair pairs : pairs) {
    	System.out.println(pair.index + " " + pairs.number); 
    }
}

 

참고 : https://velog.io/@namgonkim/%EC%9E%90%EB%B0%94-Comparable%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%B4-Pair-%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0

 

[자바] Comparable을 이용해 Pair 클래스 정렬하기

최근 코테를 Cpp에서 자바로 바꿔서 준비하면서 Cpp에 존재하는 Pair 기능이 딱히 없는 것 같았다. 해서 자바에서도 사용할 수 있게 다른 블로그들을 참고하며 Pair를 직접 만들어주었다. 헌데 Sort를

velog.io

 

728x90
반응형