본문 바로가기
*Algorithm/Programmers_Level1

[programmers] 프로그래머스 Level1 두 정수 사이의 합(파이썬 Python)

by codinguser 2020. 8. 27.

programmers
(주)그렙

[programmers] 프로그래머스 Level1 두 정수 사이의 합

(파이썬 Python)

* 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제
* 소스 코드 및 정리한 내용의 저작권은 글쓴이에게 있습니다.

 

 

 

 

프로그래머스 Level1 두 정수 사이의 합


1) 문제

 

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

 

코딩테스트 연습 - 두 정수 사이의 합

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

programmers.co.kr


2) 풀이 과정

 

가장 먼저 눈에 돌아오는건 입출력의 예시에서 두 수의 관계다.

 

예시에서 보이듯이 a>b인 경우와 a<b인 경우 그리고 a=a 경우 3가지로 나눠서 생각했다.

 

(1)

a = 3 , b = 5

3 + 4 + 5 = 12

: i의 변수안에는 3,4의 값이 들어가 있다. 그렇다면 5는 어떻게 만들것인가?

4의(마지막)값에다 +1을 해주면 5가 된다.

 

(2)

a = 5, b = 3

5 + 4 + 3 = 12

: 위 논리랑 같음

 

(3)

a = 3, b = 3

3

 

많은 풀이들 중에서 가장 low한 풀이지만 개인적으로 이렇게 하나 둘 씩 하는 고생을 알고 난 뒤 필요한 라이브러리 함수를 공부하는게 맞다고 생각한다.

 

덧셈을 모르는데, 귀찮다고 곱셈을 달달이 외우게 된다면 무슨 소용일까? 곱셈의 원리를 모르는데.

좌표계에서 삼각형의 넓이를 구하는데, 신발끈 공식을 보고 "와~" 하는거랑 무슨 차이일까? 생각이 든다.

 

가장 먼저 떠오르는 기초적인 발상이 level1 단계에서 해야하는 방향이라고 생각한다.

 

Level1단계의 목표 : 있어 보이는 라이브러리 함수보다 하나 둘 씩 차근차근 해볼 것

추 후 익숙해지게 된다면, 다른 라이브러리 함수 쓸 것

 

"처음부터 요령피우지 말자."


3) 코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def solution(a, b):
    sum = 0
    
    if a < b:
        for i in range(a, b, 1):
            sum += i
        sum += b
        
    elif a > b:
        for i in range(b, a, 1):
            sum += i
        sum += a
        
    else:
        return a
    
    return sum
cs

 


4) 정리 노트

 

for i in range(3, 5, 1)의 의미?

: i의 변수안에 3과 4의 값을 담고. 증감은 1씩 하겠다.(1 생략가능) for i in range(3, 5)과 같은 결과

 

기준1

for i in range(10):
    print("hello, python", i)

 

결과

hello, python 0

hello, python 1

hello, python 2

hello, python 3

hello, python 4

hello, python 5

hello, python 6

hello, python 7

hello, python 8

hello, python 9

 

기준2

for i in range(3, 5): # 3부터 5미만까지 반복 == 3부터 4까지
    print(i)

 

결과

3

4

 

 


 

 

 

댓글