[C]프로그래머스_Lv1 : 두 정수 사이의 합

Alal11·2022년 7월 15일
1
post-thumbnail

출처

https://school.programmers.co.kr/learn/courses/30/lessons/12912


문제 설명

두 정수 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의 대소관계는 정해져있지 않습니다.

입출력 예

abreturn
3512
333
5312

➡️문제 분석

  • a, b를 포함한 a와 b 사이의 합을 구하는 문제이다.
  • a와 b의 대소관계가 정해져 있지 않으므로, a랑 b가 같은 경우, 큰 경우, 작은 경우의 3가지로 나누어 풀어본다.

➡️코드(⭕)

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

long long solution(int a, int b) {		// a와 b의 범위를 고려해 long long으로 선언
    
    long long answer = 0;
    
    if(a==b) {		// a와 b가 같은 경우
        return a;
    }
    else if(a<b) {		// a보다 b가 큰 경우
        for(int i=a; i<=b; i++)
            answer+=i;
    }
    else {		// b보다 a가 큰 경우
        for(int i=b; i<=a; i++)
            answer+=i;
    }
    return answer;
}

➡️코드 분석

  • a와 b가 같을 때
    그 값을 그대로 반환해준다.
  • a보다 b가 클 때
    i의 초깃값을 a라고 두고, b랑 같아질 때 까지의 값을 answer에 누적시켜 합을 구한다.
  • b보다 a가 클 때
    i의 초깃값을 b라고 두고, a랑 같아질 때 까지의 값을 answer에 누적시켜 합을 구한다.

✍️피드백

  1. 주석들의 들여쓰기 위치 맞춰주면 더 깔끔할 것 같아.
  1. if 문 조건에서 수식을 ‘i<=b’를 ‘i <= b’ 처럼 띄어쓰기를 넣어주면 가독성에 더 좋아.

➡️end

주석 들여쓰기를 탭 두 번으로 맞춘다고 한건데 주석끼리 맞춰주는게 더 보기 좋구나.. 앞으로는 주석끼리 맞추도록 해야 겠다!

프로그래머스는 비쥬얼 스튜디오 처럼 코드가 자동 정렬이 안돼서 불편하다ㅜ_ㅜ 내가 모르는 기능이 따로 있는건가?

0개의 댓글