728x90
문제
컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다.
예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다.
입력
첫째 줄에 고유번호의 처음 5자리의 숫자들이 빈칸을 사이에 두고 하나씩 주어진다.
출력
첫째 줄에 검증수를 출력한다.
풀이과정
[C언어 코드]
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int num, result = 0;
int i;
// 반복문으로 고유번호의 처음 5자리 숫자를 입력
// 이후 변수 result에 각 값의 제곱을 하여 저장하고 기존 result 값과 더함
for(i=0; i<5; i++) {
scanf("%d", &num);
result = result + (num * num);
}
printf("%d", result % 10);
return 0;
}
[파이썬 코드]
result = 0
// map 함수 : 원본 리스트를 변경하지 않고 새 리스트를 생성하는 함수
// input().split : input 한 번에 값을 여러 개 입력받기 위해 사용
for num in list(map(int, input().split())):
result += num**2
print(result % 10)
C언어가 많이 부족하다고 느껴 방학부터 C언어로만 알고리즘 문제를 풀다보니 파이썬을 점점 잊어버리고 있어서 앞으로 C언어와 파이썬을 둘다 사용해서 문제 풀이를 해보려고 한다.
728x90
'Algorithm > BAEKJOON' 카테고리의 다른 글
[BOJ/C] 11659번 문제풀이 (0) | 2023.04.05 |
---|---|
[BOJ/Python] 1038번 문제풀이 (0) | 2023.04.05 |
[BOJ/C] 1065 문제풀이 (0) | 2023.03.26 |
[BOJ/C] 10430 문제풀이 (0) | 2023.03.26 |
[백준_C언어] 2163번 문제풀이 (0) | 2022.09.09 |