๋ ์ ์ ์ฌ์ด์ ํฉ
๋ ์ ์ 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์ ๋์๊ด๊ณ๋ ์ ํด์ ธ์์ง ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
a | b | return |
---|---|---|
3 | 5 | 12 |
3 | 3 | 3 |
5 | 3 | 12 |
๋ฌธ์ ํ์ด
if, else if๋ฌธ์ ํตํด a์ b๊ฐ ๊ฐ์ ๊ฒฝ์ฐ๋ a๋ฅผ ์ถ๋ ฅ์ํค๊ณ a๋ณด๋ค b๊ฐ ํฐ ๊ฒฝ์ฐ๋ a+(a+1)+b๋ฅผ, a๊ฐ ๋ ํฐ ๊ฒฝ์ฐ๋ a+(a-1)+b๋ฅผ answer์ ์ ์ฅ์์ผ ์ต์ข ์ ์ผ๋ก 3+4+5, 5+4+3์ด ์ ์ฅ๋๋๋ก ์ฝ๋ฉํ์๋ค.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
long long solution(int a, int b) {
long long answer = 0;
if(a==b){
answer = a; //3
} else if(a<b){
answer = a+(a+1)+b; //12
} else {
answer = a+(a-1)+b; //12
}
return answer;
}
๋ค๋ฅธ ํ์ด ๋ฐฉ์
์ถ์ฒ : ํ๋ก๊ทธ๋๋จธ์ค ์ค์ฟจ
int A์๋ a๋ณด๋ค b๊ฐ ๋ ํฌ๋ฉด a๋ฅผ, ๊ทธ๋ ์ง ์์ผ๋ฉด b๋ฅผ ์ถ๋ ฅํ๋๋ก ํ๊ณ int B๋ ๊ทธ ๋ฐ๋๋ก ์ถ๋ ฅํ๋๋ก ํ๋ค. ๊ทธ๋ฐ ๋ค์ for๋ฌธ์ ์ด์ฉํ์ฌ int i์ A๊ฐ์ ์ ์ฅ์ํค๊ณ i๊ฐ
B๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋๊น์ง i๊ฐ์ ์ฆ๊ฐ์ํค๊ฒ ํ์ฌ answer์ ์ฆ๊ฐ๋๋ i๊ฐ์ ์ ์ฅ์ํจ๋ค.
์ต์ข
์ ์ผ๋ก 3+4+5 / 5+4+3์ด ์ ์ฅ๋๊ณ A,B์ ๊ฐ์ด ๊ฐ์ ๊ฒฝ์ฐ์๋ b ๋๋ a๊ฐ ์ถ๋ ฅ๋๊ธฐ ๋๋ฌธ์ 3์ด ์ถ๋ ฅ๋๋ค.
#include <stdio.h>
long long solution(int a, int b)
{
long long answer = 0;
int A = a < b ? a : b;
int B = a < b ? b : a;
for (int i = A; i <= B; i++)
{
answer += i;
}
return answer;
}
๋๊ธ