본문 바로가기
  • ̀⁽ᵕ̈⁾ ́
algorithms

2020.07.02 PS 문제 (2)

by j2j2y 2020. 7. 2.

프로그래머스 level 1단계 "두 정수 사이의 합" 문제이다.

 

<문제 설명>

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

 

<제한 조건>

  • a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
  • a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
  • a와 b의 대소관계는 정해져있지 않습니다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

long long solution(int a, int b) {
    long long answer = 0;
    int i;
    if(a <= b){
        for(i = a; i <= b; i++){
            answer += i;
        }
    }
    else if(a > b){
        for(i = a; i >= b; i--){
            answer += i;
        }
    }
    return answer;
}

<자아성찰>

 

다른 문제 하나를 풀다가 너무 안풀려 답답해서 이번 문제로 넘어왔다.

드디어 level 1같은 문제를 만나게 된 것 같아 기뻤다.

정말 단순한 문제였지만 반복문에서 조건 한가지를 잘못 쓰는 바람에 조금 고생을 했다.

그러나 어려움으로 인한 의욕이 떨어질 뻔한 나를 일으켜 새운 문제였다!

역시 용기를 북돋기 위해서는 쉬운 문제가 최고다.

 

내가 짠 코드에서 뭔가 for문을 두개 쓴 것이 메모리에 그리 효율적이진 않은 듯 하다.

너무 찝찝하긴 하지만 주어진 시간과 메모리 상으로는 충분히 문제없는 코드였기에 문제를 제출시켰다.

다른이들은 어떻게 하였는지 복습을 해보도록 하겠다 :]

'algorithms' 카테고리의 다른 글

[level1] 결과 받기  (0) 2022.01.16
2020.09.27 4주차 백준문제  (0) 2020.09.27
2020.07.02 PS 문제 (1)  (0) 2020.07.02

댓글