체리의 하루
Published 2023. 3. 16. 15:05
[Go] BOJ / 15552번 / 빠른 A+B BOJ/Go

💻 문제

📜 풀이

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번 / 개수 세기  (2) 2023.03.17
[Go] BOJ / 10951번 / A+B - 4  (2) 2023.03.16
[Go] BOJ / 25314번 / 코딩은 체육과목입니다  (0) 2023.03.16
[Go] BOJ / 8393번 / 합  (0) 2023.03.16
[Go] BOJ / 2739번 / 구구단  (0) 2023.03.16