본문 바로가기
알고리즘/문제풀이

[JAVA]백준 - 2588.곱셈

by 겅아링 2020. 10. 25.
반응형

www.acmicpc.net/problem/2588

 

2588번: 곱셈

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

www.acmicpc.net

 

 

첫 풀이>

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String args[]) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String val1 = br.readLine();
		String val2 = br.readLine();
		String[] values1 = val1.split("");
		String[] values2 = val2.split("");
		int sum = 0;
		int z=0;
		for (int i = values2.length - 1; i >= 0; i--) {
			int k=0;
			int a = 0;
			int b = 0;
			for (int j = values1.length - 1; j >= 0; j--) {
				a += (Integer.parseInt(values1[j])*Math.pow(10,z)) * (Integer.parseInt(values2[i])*Math.pow(10,k));
				b += (Integer.parseInt(values1[j])) * (Integer.parseInt(values2[i])*Math.pow(10,k));
				k++;
			}
			sum += a;
			System.out.println(b);
			z++;
		}
		System.out.println(sum);
	}
}

 

무식하게 하나씩 자르고...하나씩 형변환해서....자리에맞게 제곱을 구해서 구했다

심지어 출력형식을 맞추겠다고 다른연산을 한번 더 시키고 마지막 결과값은 그냥 곱하면될걸....ㅠ..........

생각을 해보고 하자....!!!!!!!

 

 

수정한 풀이>

두번째 입력받은 수를 10으로 나눈 나머지로 첫번째입력받은수와 곱한다
ex)
472
385

temp=385

1. 385%10=5
System.out.println(472*5)

=> temp=385/10=38

2. 38%10=8 
System.out.println(472*8)

=> temp=38/10=3

3. 3%10=3 
System.out.println(472*3)
=> temp=3/10=0

4. while문 탈출후
System.out.println(472*385)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Baekjoon2588 {
	public static void main(String args[]) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int val1 = Integer.parseInt(br.readLine());
		int val2 = Integer.parseInt(br.readLine());
		int temp=val2;
		while (temp > 0) {
			System.out.println(val1 * (temp % 10));
			temp /= 10;
		}
		System.out.println(val1 * val2);
	}
}

 

반응형

'알고리즘 > 문제풀이' 카테고리의 다른 글

[JAVA]백준 - 2920.음계  (0) 2020.11.04
[JAVA]백준 - 1924.2007년  (0) 2020.10.27
[JAVA]백준 - 1541.잃어버린 괄호  (0) 2020.09.14
[JAVA]백준 - 10162.전자레인지  (0) 2020.09.12
[JAVA]백준 - 5585.거스름돈  (0) 2020.09.12