상세 컨텐츠

본문 제목

2475. 검증수

Algorithm

by aeongiii 2024. 11. 14. 16:10

본문

 

1. 문제 분석

1) A, B, C, D, E를 받는다.

2) 검증수를 구한다.

3) 검증수를 출력한다.

 

2. 의사 결정

1) A~E는 0부터 9 사이의 수이다. nextInt()를 통해 받는다.

2) 검증수는 몫이 아닌 나머지!

3) 전체 숫자를 출력하는 것이 아니라 검증수를 출력하는 것

 

// 코드 1: 그냥 계산하기

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 주어진 숫자 입력
        int A = scanner.nextInt();
        int B = scanner.nextInt();
        int C = scanner.nextInt();
        int D = scanner.nextInt();
        int E = scanner.nextInt();

        // 검증수 구하기
        int F = (A*A + B*B + C*C + D*D + E*E) % 10;

        // 검증수 출력
        System.out.println(F);

    }
}

 

근데 생각해보니 누적합을 사용할수도 있었다. 뒤늦게 리팩토링 진행.

 

// 코드 2: 누적합 활용

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 입력받을 숫자의 개수와 누적합 초기화
        int sum = 0;
        int[] numbers = new int[5];

        // 숫자 입력 및 누적합 계산
        for (int i = 0; i < 5; i++) {
            numbers[i] = scanner.nextInt();
            sum += numbers[i] * numbers[i]; // 제곱한 값을 누적합에 추가
        }

        // 검증수 계산
        int verificationNumber = sum % 10;

        // 검증수 출력
        System.out.println(verificationNumber);
    }
}

 

간단한 문제라고 그냥 풀지 말고 최대한 효율적인 방법을 찾는 습관을 들이자!

'Algorithm' 카테고리의 다른 글

25501. 재귀의 귀재  (0) 2024.11.14
24416. 알고리즘 수업 - 피보나치 수 1  (0) 2024.11.14
11975. 뜨거운 붕어빵  (1) 2024.11.14
2445. 별 찍기 - 8  (0) 2024.11.14
1330. 두 수 비교하기  (0) 2024.11.14

관련글 더보기