
풀이 방식 :
ex ) a = 3 b = 5 일때
for 문을 사용하여 a 부터 b 까지의 합을 구하기만 하면 된다 .(라고 생각하면 틀린다 . 내가 그랬다 ㅜ)
a 와 b 중에서 누가 더 큰지 알아 낸다음 그 다음에 for 문에 적용했다
어떤수가 더 큰지 알아 내는 방식은 #define MIN(a,b) a<b ? a:b 라는 매크로함수를 이용하여 만들었다 .
#define A 100 이렇게 하면 A 가 100 으로 치환이된다 . 이 방식을 조금 변형해서 사용했다 .사실 구글링 ..
코딩도장에 잘 설명해준거 같아서 링크를 걸어놓겠다 .
(코딩도장) dojang.io/mod/page/view.php?id=652
< > 코드
#include <stdio.h> #include <stdbool.h> #include <stdlib.h> //define 을 사용해 최소값과 최대값을 구하는 걸? 해줌?? ?잉 ? #define MIN(a,b) a < b ? a : b #define MAX(a,b) a > b ? a : b long long solution(int a, int b) { long long answer = 0; int min, max; // a와 b 값을 비교하여 넣음 min = MIN(a,b); max = MAX(a,b); //a 와 b 값이 같으면 아무수나 리턴 if(a == b) return a; // a와 b의 대소관계는 정해져있지 않습니다. for(int i = min; i <= max; i++) { answer += i; } return answer; }
'PS-Algorithm > Algorithm' 카테고리의 다른 글
[프로그래머스/C언어] 자연서 뒤집어 배열로 만들기 (0) | 2020.12.13 |
---|---|
[프로그래머스/C언어] 가운데 글자 가져오기 (0) | 2020.12.12 |
[프로그래머스/C언어] 이상한 문자 만들기 (0) | 2020.12.12 |
[프로그래머스/C언어] 문자열을 정수로 바꾸기 (3) | 2020.12.08 |
프로그래머스 스킬체크(level.1) 통과 !! (0) | 2020.12.07 |