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

3896 단어 golanggolang

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)
}

좋은 웹페이지 즐겨찾기