Go/Go 알고리즘

백준 15552번 빠른 입출력 Go 구현해보기

kimc 2021. 11. 6. 22:05

```

백준 15552번 빠른 입출력 Go 구현해보기

```

 

이번 글을 통해 배워갈 내용

  1.  백준 15552번 풀이
  2.  간단한 입출력 연습

https://www.acmicpc.net/problem/15552

 

15552번: 빠른 A+B

첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.

www.acmicpc.net

 

 

백준 15552번 는 

난이도 브론즈 등급의 문제로서

간단한 입출력을 연습해보는 문제입니다.

 

Test case T를 입력받고

입력받은 T 만큼

A, B를 입력받고 출력해주면 되는 문제입니다.

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


 

Go를 최근에 공부하면서 풀어봤는데

 

확실히 Go 가 쉽고 빠른 것 같습니다.

 

속도는 C에 비해서 약 2배정도 걸리네요

 

 

 

buffered input output을 구현하게 도와주는 bufio를 import 해주고

아래와 같이 간단한 입출력을 구현하였습니다.

 

 

 

전체 코드는 다음과 같습니다

package main

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

func main() {
	
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)

	// tesCaseLength 선언 및 입력
	var testCaseLength int
	fmt.Fscanln(reader, &testCaseLength)

	// num1, num2 선언
	var num1 int
	var num2 int
    
    	// for문을 testCase 길이만큼 돌면서 num1, num2를 입력받고 합을 출력
	for idx := 0; idx < testCaseLength; idx++ {
		fmt.Fscanln(reader, &num1, &num2)
		fmt.Fprintln(writer, num1 + num2)
	}
	writer.Flush()
}

 

 

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 

참조 및 인용

Introduction to Algorithms


https://tour.golang.org/list

 

A Tour of Go

 

tour.golang.org

728x90