Moonss
Moon's
Moonss
전체 방문자
오늘
어제
  • 분류 전체보기 (24)
    • 환경 설정 (2)
    • git 사용법 (2)
    • Pandas (1)
    • 알고리즘 (7)
    • Pytorch (4)
    • GCP 환경 설정 (1)
    • cs231n (0)
    • Error (1)
    • 데이터 분석 (1)
    • 작성 전 글 저장 (0)

블로그 메뉴

  • ABOUT
  • POST
  • GUEST BOOK

공지사항

인기 글

태그

  • error
  • git config
  • Blender
  • git config --unset
  • Python
  • github
  • 3d
  • git init
  • 가상환경
  • gcp
  • 환경설정
  • Linux OS
  • IP
  • git
  • 알고리즘
  • git config global --unset
  • Linux
  • user.email
  • git config --global
  • ifconfig
  • GPU
  • user.name
  • BIG-O

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Moonss

Moon's

프로그래머스 - Lv1. 두 정수 사이의 합
알고리즘

프로그래머스 - Lv1. 두 정수 사이의 합

2022. 10. 3. 14:48

문제

두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.

def solution(a, b):
    if a > b : 
        a,b = b,a 
    answer = sum([i for i in range(a,b+1) ])
    
    return answer

처음엔 for 문을 활용하여 풀었다. 하지만 실행시간이 엄청 나게 걸리길래 등차수열 합 공식이 생각 났다. 

def solution(a,l):
    return (abs(a-l)+1) * (a+l) / 2
    # (abs(a-l)+1) = n 즉, 항의 개수

그 식을 만들어 풀어 봤더니 실행 시간이 0,00ms 로 변했다. 

식 한번 계산하는 것과 모든 수를 확인 후 더해주는 것의 차이를 볼 수 잇었다. 

Reference 

수학방 - https://mathbang.net/609

저작자표시 (새창열림)

'알고리즘' 카테고리의 다른 글

요소 개수 찾기 count() , Counter  (1) 2022.10.07
정렬(오름,내림 차순) 및 리스트 요소 순서 뒤집기(reverse,reversed)  (0) 2022.10.05
프로그래머스 - Lv1. 정수 제곱근 판별  (0) 2022.10.03
진수 변환  (0) 2022.03.15
시간 복잡도 (Big-O)  (0) 2021.11.01
    '알고리즘' 카테고리의 다른 글
    • 요소 개수 찾기 count() , Counter
    • 정렬(오름,내림 차순) 및 리스트 요소 순서 뒤집기(reverse,reversed)
    • 프로그래머스 - Lv1. 정수 제곱근 판별
    • 진수 변환
    Moonss
    Moonss

    티스토리툴바