두 정수 사이의 합

sky·2022년 3월 13일
0

Programmers Lv.1(Python)

목록 보기
3/28
post-thumbnail

📕프로그래머스 코딩테스트 Level 1 (Python3)


문제 설명

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

solution

def solution(a, b):
    answer = 0
    if a <= b:
        while(a <= b):
            answer += a
            a += 1
    else:
        while(b <= a):
            answer += a
            a -= 1
    return answer

다른 풀이를 봤는데 할 말을 잃었다. '어떻게 이걸 생각했을까' 하고 감탄했다. 수학적 머리가 조금은 필요한 부분이었다고 생각한다.. 물론 나는 수학에 약하니 아래처럼 코드를 짤 수 없을 것이다. 그래도 이렇게도 풀 수 있다는 걸 알았으니 다음 문제 때 써먹어야겠지?

another solution

def solution(a, b):
    return (abs(a-b)+1)*(a+b)//2

📜코드 해석

  • abs : 절대값 함수
  • 연산자 // : 나누기 연산 후 소수점 이하의 수를 버리고, 정수 부분의 수만 구함

⏱total time

  • 2022-03-13 / 20:30 - 21:30 : 1시간 소요

⚙ 리뷰

시행착오가 많았지만 결국 해냈다. 내 기준에 가장 기본적인 함수들로 깔끔하게 짠 것 같아서 만족한다.

profile
개발자가 되고 싶은 1人

0개의 댓글