[백준] Golang 입력값 받는 방법

Seokhun Yoon·2022년 3월 30일
0

[코딩테스트] 백준

목록 보기
2/2
post-thumbnail

bufio 패키지 (Reader, Writer)

fmt 패키지(Scan, Print)를 사용하는 방법도 있지만 속도가 매우 느려서 시간을 초과하는 경우가 많다.
bufio패키지에서도 입출력에 관여하는 ReaderWriter 함수를 제공한다.

bufio 활용하는 것이 속도 측면에서 좋다.

// 백준 10869번 문제 (사칙연산)

package main

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

func main() {
	var reader *bufio.Reader = bufio.NewReader(os.Stdin)
	var writer *bufio.Writer = bufio.NewWriter(os.Stdout)

	// defer: 이를 호출한 함수의 리턴 직전에 실행한다.
    // Flush: 모든 데이터가 writer에 보내졌음을 의미 (꼭 써줘야한다!)
	defer writer.Flush()

	var a, b int

	fmt.Fscanln(reader, &a, &b) // 한 줄 입력, 띄어쓰기로 구분 ex) 1 2 => a=1, b=2
	fmt.Fprintln(writer, a+b)
	fmt.Fprintln(writer, a-b)
	fmt.Fprintln(writer, a*b)
	fmt.Fprintln(writer, a/b)
	fmt.Fprintln(writer, a%b)
}
profile
블록체인 개발자를 꿈꾸다

0개의 댓글