[Python]_코딩테스트_두 정수 사이의 합

김희정·2024년 1월 18일
0

코딩테스트

목록 보기
1/13

두 정수 사이의 합

문제 설명
두 정수 a,b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수를 완성하시오

제한 조건

  • a와 b가 같은 경우는 둘 중 아무 수나 리턴하시오.
  • a와 b는 -10,000,000 이상 10,000,000 이하인 정수
  • a와 b의 대소관계는 정해져있지 않음

입출력 예

abreturn
3512
333
5312

(내 답)
def solution(a, b):
    answer = 0
    for i in range(a, b+1):
        answer += i
    return answer

결과는 오류

b 값이 a 값보다 작아서 range(a, b)에서 문제가 생겼다.
b가 a 보다 작은 경우는 range(b, a)로 바꿔주면 되는일!

(재시도) -> 통과!
def solution(a, b):
    answer = 0
    if a < b:
        for i in range(a, b+1):
            answer += i
    else:
        for i in range(b, a+1):
            answer += i
    return answer
  1. 먼저 들어오는 정수를 if문으로 비교한다.
  2. a < b 인 경우 range()를 원래 순서대로 정의
    ex) a= 3, b= 5 -> range(a, b+1) >>>3, 4, 5
  3. a > b 인 경우, range()의 순서만 바꿔준다.
    ex) a=5 ,b=3 -> range(b, a+1) >>> 3, 4, 5
(다른 사람 코드)
def solution(a, b):

    if a >= b:
        answer = sum(range(b,a+1))
    else: 
        answer = sum(range(a,b+1))
    return answer
profile
데이터 애널리스트가 되고 싶은

0개의 댓글