STUDY/Go Lang

[Go / 백준 2588번] 곱셈

Jexists 2024. 9. 10. 22:40

문제

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.

출력

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

예제 입력 1 복사

472
385

예제 출력 1 복사

2360
3776
1416
181720

 

작성코드

package main

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

func main() {

	var a, b int
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	fmt.Fscanf(reader, "%d\n%d\n", &a, &b)
    
	fmt.Println(a * (b % 10))
	fmt.Println(a * ((b % 100) / 10))
	fmt.Println(a * (b / 100))
	fmt.Println(a * b)
}

 

 

배운 내용

fmt.Fscanln(reader, &a, &b) vs fmt.Fscanf(reader, "%d\n%d\n", &a, &b)

fmt.Fscanf: 입력을 줄바꿈(\n)을 기준으로 정확히 두 줄 입력 (줄바꿈까지 처리할 수 있어 입력 문제를 방지)