Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[백준] - 이상한 곱셈 (1225) (자바/Java) 본문

알고리즘문제/백준 문제(Java)

[백준] - 이상한 곱셈 (1225) (자바/Java)

luke-king 2024. 4. 20. 18:18

 

 

 

 

 

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

 

1225번: 이상한 곱셈

첫째 줄에 A와 B가 주어진다. 주어지는 두 수는 모두 10,000자리를 넘지 않는 음이 아닌 정수이다. 수가 0인 경우에는 0만 주어지며, 그 외의 경우 수는 0으로 시작하지 않는다.

www.acmicpc.net

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


 

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        String str2 = sc.next();

        String[] split = str.split("");
        String[] split2 = str2.split("");


        long res = 0;
        for (int i = 0; i < split.length; i++) {
            int a, b = 0;
            for (int j = 0; j < split2.length; j++) {
                a = Integer.parseInt(split[i]);
                b = Integer.parseInt(split2[j]);
                res += a * b;

            }
        }
        System.out.println(res);
    }

}

 

이번 문제는 이상한 곱셈 문제이다!  크게 어렵지 않았던 문제다!

백준을 매번 풀면서 느끼는 거지만 문제 제목을 볼 때마다 기발하다는 생각이 든다....

여튼! 문제 접근 방식은 두 정수가 입력되는데 123, 45 가 입력 된다면 1 * 4 + 1 * 5 + 2 * 4 + 2 * 5 +3 *4 + 3* 5  식의 합을 구하는 문제다. 

 

바로 문제 풀이 가보겠다.

 

1. 문자열로 입력 받은 후 split()함수를 사용해 문자열을 하나씩 나눠 줬다. (즉 배열에 담긴 것이다.)

 

2. res 결과 값을 받을 수 있는 변수를 생성 해준 뒤 2중 for문을 돌린다.

 

3. 2중 for문을 돌릴 때 문자열 이므로 꼭 형변환을 시켜준다. 필자는 변수를 만들어 변수에 담아줬다.

 

4. 연산자를 사용해 곱한 뒤 더해줌을 해준다.