(백준 2693 N번째 큰 수

Link copied to clipboard

문제 설명

Link copied to clipboard
  • 정렬만 하면 되는 아주 간단한 문제이지만, Python만큼 정렬이 편리한 언어가 많지 않아 단순한 문제임에도 많이 고민했다.

문제 풀이

Link copied to clipboard

Python

Link copied to clipboard
for _ in range(int(input())):
    seq = sorted(map(int, input().split()))
    print(seq[7])
  • 가장 간단하면서도, 가장 아름답게 표현할 수 있다고 생각한다.

Go

Link copied to clipboard
N := nextInt()
for i := 0; i < N; i++ {
    var seq []int
    for j := 0; j < 10; j++ {
        seq = append(seq, nextInt())
    }
    sort.Ints(seq)
    fmt.Fprintln(wr, seq[7])
}
  • 정렬하는 방식을 다양하게 찾아보고 적용하는데 조금 시간이 걸렸다.
  • sort에서 함수들을 제공하지만, 정렬 방식이나, 배열의 구성에 따라 다른 함수들도 제공되는 것 같다.

Node.js

Link copied to clipboard
const N = parseInt(input[0])
for (let i = 1; i <= N; i++) {
  let seq = input[i].split(" ").map(x => parseInt(x))
  seq.sort(function(x, y){return x - y})
  console.log(seq[7])
}
  • 이 문제를 풀다가 JS의 정렬이 문자열 기준으로 되는 것을 다시 떠올렸다.
  • 그래서 sort가 정수에도 작동되도록 작성하여 해결했다.