반응형
밑의 링크는 CodeUp에서의 문제 링크입니다.
문제는 링크를 통해서 직접 봐주시길 바랍니다.
주의해야 할 점
1. map, split을 사용하는 입력 방식
실수나 정수인 여러 값들이 입력값일 때,
split 메서드를 사용해 공백이나 어떤 문자를 기준으로 입력값을 여러 값들로 분리하고,
map 내장 함수로 각각의 값들을 int형이나 float형으로
정수, 실수 자료형으로 변환하는 하는 기법은 매우 많이 쓰입니다.
코드 이해부터 하고 나면 다른 문제에서도 외운 듯이 사용해봅시다.
num1, num2 = map(int, sys.stdin.readline().split())
2. 배수를 판별하는 방법
어떤 한 수가 다른 한 수의 배수인지를 판별할 때는
나머지를 반환하는 연산자 '%'를 사용합니다.
숫자를 다른 한 숫자로 나누었을 때 나머지가 0이라면 두 숫자는 배수 관계입니다.
나머지 연산자는 이 기법뿐만 아니라 정말 많이 쓰이니 꼭 기억합시다.
예제 설명
1. 첫 번째 예제
- 입력
3 7
- 출력
9
- 설명
입력한 두 자연수 a, b는 3, 7입니다.
3부터 7까지의 3의 배수들은 3, 6이므로, 이들의 합은 3+6 = 9입니다.
따라서 9를 출력합니다.
생각한 풀이 과정
a <= b인 두 자연수 a, b를 입력합니다.
a부터 b까지의 3의 배수의 합을 저장할 변수 three_multiple_sum을 선언하고, 0으로 초기화합니다.
a부터 b까지 반복하는 반복문을 만들어줍니다.
현재 숫자가 3의 배수라면, 즉, 현재 숫자를 3으로 나누었을 때 나머지가 0이라면,
three_multiple_sum에 현재 숫자를 더해줍니다.
a부터 b까지 반복하고 나면, a부터 b까지의 3의 배수의 합인 three_multiple_sum의 값을 출력합니다.
제출한 파이썬 코드
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 두 자연수 a, b를 공백으로 구분해 입력합니다.
# a <= b
# 각각 int형으로 변환합니다.
a, b = map(int, stdin.readline().split())
# a부터 b까지의 3의 배수의 합을 저장할 변수를 선언합니다.
# 0으로 초기화합니다.
three_multiple_sum = 0
# a부터 b까지 반복해봅니다.
for num in range(a, b + 1):
# 현재 숫자가 3의 배수라면, 즉, 현재 숫자를 3으로 나누었을 때 나머지가 0이라면
if num % 3 == 0:
# three_multiple_sum에 현재 숫자를 더해줍니다.
three_multiple_sum += num
# a부터 b까지의 3의 배수의 합인 three_multiple_sum의 값을 출력합니다.
print(three_multiple_sum)
제출 결과
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
※ 공감 버튼❤과 구독 버튼도 잊지 말고 꾹 눌러주시면 감사하겠습니다~👍👍
반응형
댓글