프로그래머스 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 |
댓글