정렬
페이지
미리보기
문자열정렬
자세히 보기
백준 1181번

파이썬

import sys
l = list()
for i in range(int(input())):
    temp = (sys.stdin.readline()).strip()
    l.append((temp, len(temp)))
for i in sorted(sorted(list(set(l)), key=lambda x:x[0]), key=lambda x:x[1]):
    print(i[0])

자바

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashSet;
import java.util.stream.Collectors;

public class Main {

    public void solve() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        ArrayList<WordObj> list = new ArrayList<>();
        ArrayList<String> l = new ArrayList<>();

        // 입력 받은거 리스트에 추가
        int n = Integer.parseInt(br.readLine());
        for (int i = 0; i < n; i++) {
            l.add(br.readLine());
        }
        // 중복 제거
        l = new ArrayList<String>(new HashSet<String>(l));
        // WordObj 객체에 생성 (단어길이와 단어를 저장)
        l.forEach(word -> list.add(new WordObj(word.length(), word)));
        l = null;
        // 길이별 정렬 사전순 정렬 후 출력
        list.stream()
            .sorted(Comparator.comparingInt(WordObj::getLength).thenComparing(WordObj::getWord))
            .forEach(s -> System.out.println(s.word));
    }

    public static void main(String[] args) throws IOException {
        new Main().solve();
    }

    public class WordObj{
        public int length;
        public String word;

        public int getLength() {
            return this.length;
        }

        public String getWord() {
            return this.word;
        }

        public WordObj(int length, String word) {
            this.length = length;
            this.word = word;
        }
    }
}
구현정렬
자세히 보기
백준 2750번

파이썬

li = []
for i in range(int(input())):
    li.append(int(input()))
li.sort()
for i in li:
    print(i)

자바

import java.io.BufferedReader;
//import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
//import java.io.OutputStreamWriter;
import java.util.ArrayList;

public class Main {

    public void solve() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        ArrayList<Integer> list = new ArrayList<>();

        int n = Integer.parseInt(br.readLine());
        for (int i = 0; i < n; i++) {
            list.add(Integer.parseInt(br.readLine()));
        }
        for (int i = 1; i < n; i++) {
            int elem = list.get(i);
            int j = i - 1;
            for (; j >= 0 && list.get(j) > elem; j--) {
                list.set(j+1, list.get(j));
            }
            list.set(j+1, elem);
        }
        list.forEach(System.out::println);
    }

    public static void main(String[] args) throws IOException {
        new Main().solve();
    }
}