2021.07.13

starlikedh
|2021. 7. 13. 15:10

백준 1단계 입출력과 사칙연산(6 ~ 11번 문제)

6번과 7번 문제의 경우 5번 문제인 두 수의 합 구하는 것에서 연산자만 -로, *로  바꿔주면 해결.

 

8번 문제의 경우 두 수를 입력받아 나눗셈 연산.
나눗셈의 결과가 딱 정수로 나누어 떨어질 수도 있지만 1 / 3의 경우 0.333333333..으로 나올 수도 있음.
따라서 double형 변수로 선언해주고 nextDouble()로 입력받기.

 

9번 문제의 경우 두 수를 입력받아 사칙연산 및 나머지 출력하는 문제.

 

10번 문제의 경우 % 연산자와 관련된 문제.
(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?
(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?
직접 코드로 확인한 결과 같은데 문자로 생각이 어렵다면 숫자를 임의로 집어넣어 보면 금방 이해가 가능하다.

해결 : 두번째 수를 /, % 연산자를 활용하여 자리별로 분리하고 그것을 첫 번째 수랑 곱해서 (3), (4), (5)를 출력.
(6)의 경우 (3) ~ (5)에 *, + 연산자를 적절히 활용하여 출력.

Scanner input = new Scanner(System. in);
int num1, num2, t1, t2, t3;

num1 = input.nextInt();
num2 = input.nextInt();

t1 = num1 * (num2 % 100 % 10);
t2 = num1 * (num2 / 10 % 10);
t3 = num1 * (num2 / 100);

System.out.println(t1 + "\n" + t2 + "\n" + t3);
System.out.println(t1 + t2 * 10 + t3 * 100);

프로그래머스 코딩테스트 연습 - 행렬의 덧셈

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다.
2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

처음 배열 초기화 시 arr1의 행의 길이와 arr1[0]열의 길이로 초기화하는 것을 생각하는데 시간이 좀 걸렸다..
그 다음은 이중 for문으로 각 배열의 length만큼 돌려서 합을 구해주면 된다.

class Solution {
    public int[][] solution(int[][] arr1, int[][] arr2) {
        int[][] answer = new int[arr1.length][arr1[0].length];
        for (int i = 0; i < arr1.length; i ++) {
            for (int j = 0; j < arr1[i].length; j ++) {
                answer[i][j] = arr1[i][j] + arr2[i][j];
            }
        }
        return answer;
    }
}

'Algorithm' 카테고리의 다른 글

2021.07.20  (0) 2021.07.20
2021.07.19  (0) 2021.07.19
2021.07.16  (0) 2021.07.16
2021.07.15  (0) 2021.07.15
2021.07.12  (0) 2021.07.12