본문 바로가기
JAVA/백준

[백준/자바] 2750번 수 정렬하기

by 동백05 2022. 1. 31.

#1일1알고리즘 30일차

https://www.acmicpc.net/problem/2750

 

2750번: 수 정렬하기

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

여러 정렬방법을 활용해서 풀어야하는 문제같은데 이전에 썼던 HashSet이 생각나서 찾아보았고.. TreeSet은 정렬이 된다는걸 알고 활용했다. 비슷한 다른 문제는 정렬로 풀어봐야할 것 같다.

import java.util.Scanner;
import java.util.TreeSet;
import java.util.Iterator;
public class jan31 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner s =new Scanner(System.in);
		TreeSet<Integer> thash=new TreeSet<Integer>();
		int number=s.nextInt(); //정렬해야하는 수 개수
		for(int i=0;i<number;i++) {
			thash.add(s.nextInt()); //treeset에 수를 넣는다. treeset는 중복된 수는 들어가지 않으며 자동으로 정렬이된다.
		}
		s.close();
        	//그냥 treeset를 출력하면 형식이 맞지 않기 때문에 iterator를 활용해서 출력형식에 맞게 출력할 수 있도록 한다.
		Iterator iter=thash.iterator(); 
        	while(iter.hasNext()) {
			System.out.println(iter.next());
		}
	}

}

댓글