[5/27] 1292 (쉽게 푸는 문제)

743 단어 백준코테백준

문제

내 코드

a, b = map(int, input().split())
arr = []

for i in range(1, b+1):
    for j in range(1, i+1):
        arr.append(i)
    if (len(arr) >= b):
        break
print(sum(arr[a-1:b]))

풀이

  1. 2중 for문 돌려서 arr에 숫자들을 추가한다.
  2. break를 사용해서 효율성을 높였다.
  3. a와 b 사이의 합 출력

효율적인 코드

a, b = map(int, input().split())
arr = []
for i in range(1, b):
    arr = arr + ([i] * i)
    if (len(arr) >= b):
        break
print(sum(arr[a-1:b]))

피드백

  • i번 곱해서 더하는 것을 생각은 했지만 구현하지 못했는데, 적용하니 for문을 하나 줄일 수 있었다.

좋은 웹페이지 즐겨찾기