💻 문제
15552번: 빠른 A+B
첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.
www.acmicpc.net
- Go : bufio를 import하면 버퍼를 사용한 빠른 입출력이 가능합니다.
📜 풀이
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
r := bufio.NewReader(os.Stdin)
w := bufio.NewWriter(os.Stdout)
defer w.Flush()
var a, b, t int
fmt.Fscanln(r, &t)
for i := 0; i < t; i++ {
fmt.Fscanln(r, &a, &b)
fmt.Fprintln(w, a+b)
}
}
✍ 설명
- bufio.NewReader(os.Stdin) : NewReader의 파라미터로 os.Stdin을 넣어 stdin에서 입력을 읽어 옴
- bufio.NewWriter(os.Stdout)
- w.Flush() : Flush 를 사용하여 모든 버퍼링된 작업이 Writer에 적용되었는지 확인
- 한 줄에 모두 출력할 경우에는 버퍼링을 활용한 fmt.Fprintf가 월등히 빠르나 줄 수가 늘어나는 경우에는 fmt.Printf가 빠른 경우도 존재
- fmt.Fscanln : 버퍼링을 활용하여 속도가 빠름
728x90
'BOJ > Go' 카테고리의 다른 글
[Go] BOJ / 10807번 / 개수 세기 (0) | 2023.03.17 |
---|---|
[Go] BOJ / 10951번 / A+B - 4 (0) | 2023.03.16 |
[Go] BOJ / 25314번 / 코딩은 체육과목입니다 (0) | 2023.03.16 |
[Go] BOJ / 8393번 / 합 (0) | 2023.03.16 |
[Go] BOJ / 2739번 / 구구단 (0) | 2023.03.16 |