본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 1][Python] 1834번 : 나머지와 몫이 같은 수

by 빛밤하늘 2021. 4. 30.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

1834번: 나머지와 몫이 같은 수

N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다.

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 첫째 줄에 2,000,000 이하의 자연수 N을 입력합니다.
N = int(input())

# N=2일 때, 나머지와 몫이 같은 자연수는 3입니다.
# N=3일 때, 나머지와 몫이 같은 자연수는 4, 8입니다.
# N=4일 때, 나머지와 몫이 같은 자연수는 5, 10, 15입니다.
# N=5일 때, 나머지와 몫이 같은 자연수는 6, 12, 18, 24입니다.
# 즉, 나머지와 몫이 같은 자연수는 N-1개의 N+1 배수들입니다.
# 리스트 변수를 만들어서 N-1개의 N+1 배수들을 넣어줍니다.
nums = [(N + 1) * i for i in range(1, N)]

# nums의 합을 출력합니다.
print(sum(nums))

결과

 

처음 제출했을 때는 문제에 나오는 조건 그대로 나머지와 몫이 같은 자연수를 

for와 if를 사용해 하나하나 구했었습니다.

지금 코드와 비교해보니 답은 맞는데 시간 초과가 떠버렸습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글