https://www.acmicpc.net/problem/2475
2475번: 검증수
컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들
www.acmicpc.net
💡주의 사항
입력받은 수 각각을 제곱한 다음, 10으로 나눈 나머지를 구하는 것이다
🗒 풀이
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sum = 0;
for (int i = 0; i < 5; i++) {
int num = sc.nextInt();
sum += Math.pow(num, 2);
}
sc.close();
System.out.println(sum % 10);
}
}
- 5개의 수를 입력받는 것이니, for문을 만들어 5개의 수를 입력
- 입력받은 수를 저장하는 것이 주 목적이 아니라, sum값을 구하는 것이 목적이므로 sum 변수에 입력받은 수의 제곱값을 누적
- 이 때, 제곱을 하기 위하여 Math의 pow함수를 사용하며, 뒤의 '2'인자는 2번 제곱한다는 뜻
- 나머지 연산을 구하기 위해 % 연산자를 이용
python
num_list = list(map(int, input().split()))
sum_value = sum(i ** 2 for i in num_list)
print(sum_value % 10)
- 입력받은 인자들을 split()으로 나누어 int로 변환한 것들을 list 형태로 저장
- sum 함수를 사용하는데, (i ** 2 for i in num_list)를 사용하여 일단 num_list의 값들을 하나씩 탐색하여 제곱시켜준 다음(i ** 2)에 sum 함수를 사용해 합을 구해줌
- 구한 sum_value를 나머지 연산자 %를 사용해 출력
'알고리즘' 카테고리의 다른 글
[백준] 2577번: 숫자의 개수(java, python) (0) | 2022.07.05 |
---|---|
[백준] 2562번: 최댓값(java, python) (0) | 2022.07.04 |
[백준] 2439번: 별 찍기 - 2(java, python) (0) | 2022.07.03 |
[백준] 2438번: 별 찍기 - 1(java, python) (0) | 2022.07.03 |
[백준] 1546번: 평균 (java, python) (0) | 2022.07.02 |