코딩테스트 연습 기록

이종길·2022년 3월 15일
0

코딩테스트 연습

목록 보기
105/128

2022.03.15 80일차

백준 1181번 (단어 정렬)

문제

알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.

1. 길이가 짧은 것부터
2. 길이가 같으면 사전 순으로

나의 풀이

  1. Set을 사용해서 중복 없애기
  2. Arrays.sort 활용, 길이 짧은 순, 길이 순 구하기
import java.io.*;
import java.util.*;

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());
        Set<String> set = new HashSet<>();


        for (int i = 0; i < N; i++) {
            set.add(br.readLine());
        }

        String [] sArr = set.toArray(new String[0]);

        Arrays.sort(sArr);
        Arrays.sort(sArr, (o1, o2) -> o1.length() - o2.length());

        for (String s : sArr) {
            System.out.println(s);
        }
    }
}

생각하기

profile
Go High

0개의 댓글

관련 채용 정보