티스토리 뷰

문제
 

10989번: 수 정렬하기 3

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

www.acmicpc.net

풀이
package main

import (
	"fmt"
	"bufio"
	"os"
	"strconv"
)

func main() {
	var n int
	reader := bufio.NewReader(os.Stdin)
	scanner := bufio.NewScanner(reader)
	scanner.Split(bufio.ScanWords)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	scanner.Scan()
	n, _ = strconv.Atoi(scanner.Text())

	var counts = make([]int, 10001)
	for i:=0; i<n; i++ {
		scanner.Scan()
		num, _ := strconv.Atoi(scanner.Text())
		counts[num]++	// 카운팅정렬 
	}

	for i:=1; i<10001; i++ {
		for j:=0; j<counts[i]; j++ {
			fmt.Fprintln(writer, i)
		}
	}
}
728x90
댓글