본문 바로가기

백준

[백준] [코틀린 Kotlin] 2588번_곱셈

문제 링크

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

 

2588번: 곱셈

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

www.acmicpc.net

 

 

백준 2588번 곱셈 (Kotlin)

 

 

문제

 

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

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

 

 

입력

 

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

 

 

출력

 

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

 

 

 

풀이

 

코드

 

메모리 12120KB

시간 92ms

코드길이 285B

 

import java.io.BufferedReader
import java.io.InputStreamReader

fun main() = with(BufferedReader(InputStreamReader(System.`in`))){
    val a = readLine().toInt()
    val b = readLine().toInt()

    println(a*(b%10))
    println(a*((b%100)/10))
    println(a*(b/100))
    println(a*b)
}

 

 

내 풀이

 

BufferedReader를 통해 정수 2개를 입력받고

b의 일의 자리 숫자를 구해주기 위해 b%10을 해주고 -> b를 10으로 나눈 나머지 출력

b의 십의 자리 숫자를 구해주기 위해 (b%100)/10을 해주고 -> b를 100으로 나눈 나머지를 다시 10으로 나눈 몫

b의 백의자리 숫자를 구해주기 위해 b/100을 해주었다 -> b를 100으로 나눈 몫

그리고 마지막으로는 a*b를 그대로 출력해주면 된다