(백준 2693 N번째 큰 수
문제 설명
- 정렬만 하면 되는 아주 간단한 문제이지만, Python만큼 정렬이 편리한 언어가 많지 않아 단순한 문제임에도 많이 고민했다.
문제 풀이
Python
for _ in range(int(input())):
seq = sorted(map(int, input().split()))
print(seq[7])
- 가장 간단하면서도, 가장 아름답게 표현할 수 있다고 생각한다.
Go
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
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가 정수에도 작동되도록 작성하여 해결했다.