#1063 : [๊ธฐ์ด-์ผํญ์ฐ์ฐ] ๋ ์ ์ ์ ๋ ฅ๋ฐ์ ํฐ ์ ์ถ๋ ฅํ๊ธฐ
๋ฌธ์ ์ค๋ช
์
๋ ฅ๋ ๋ ์ ์ a, b ์ค ํฐ ๊ฐ์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด ๋ณด์.
๋จ, ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ์ง ์๊ณ 3ํญ ์ฐ์ฐ์ ? ๋ฅผ ์ฌ์ฉํ๋ค.
์ฐธ๊ณ
3๊ฐ์ ์์๋ก ์ด๋ฃจ์ด์ง๋ 3ํญ(ternary) ์ฐ์ฐ์๋
"์กฐ๊ฑด์ ? (์ฐธ์ผ ๋์ ๊ฐ) : (๊ฑฐ์ง์ผ ๋์ ๊ฐ)” ์ ํํ๋ก ์ฌ์ฉํ๋ ์ฐ์ฐ์์ด๋ค.
- ์กฐ๊ฑด์์ ๊ณ์ฐ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ธ ๊ฒฝ์ฐ์๋ ':' ์ผ์ชฝ์ ๊ฐ ๋๋ ์์ผ๋ก ๋ฐ๋๊ณ ,
- ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ์๋ ':' ์ค๋ฅธ์ชฝ์ ๊ฐ ๋๋ ์์ผ๋ก ๋ฐ๋๋ค.
์๋ฅผ ๋ค์ด
123 > 456 ? 0 : 1
๊ณผ ๊ฐ์ ํํ์์ 123 > 456์ ๋น๊ต์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ ๊ฑฐ์ง์ด๋ฏ๋ก 1์ด ๋๋ค.
์์
printf("%d", a>b ? a:b); //๋ ๊ฐ ์ค ํฐ ๊ฐ์ด ์ถ๋ ฅ๋๋ค.
์์ ์ฝ๋๋ a> b์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ(1)์ด๋ฉด (a>b ? a:b)์ ๊ฒฐ๊ณผ๋ a๊ฐ ๋๊ณ ,
๊ฑฐ์ง(0)์ด๋ฉด (a>b ? a:b)์ ๊ฒฐ๊ณผ๋ b๊ฐ ๋๋ค.
์ ๋ ฅ
๋ ์ ์๊ฐ ๊ณต๋ฐฑ์ ๋๊ณ ์
๋ ฅ๋๋ค.
-2147483648 ~ +2147483647
์ถ๋ ฅ
๋ ์ ์ ์ค ํฐ ๊ฐ์ 10์ง์๋ก ์ถ๋ ฅํ๋ค.
์ ๋ ฅ ์์
123 456
์ถ๋ ฅ ์์
456
๋ฌธ์ ํ์ด
#include <stdio.h>
int main(){
int a, b;
scanf("%d %d",&a,&b);
printf("%d",a>b?a:b);
return 0;
}
#1064 : [๊ธฐ์ด-์ผํญ์ฐ์ฐ] ์ ์ 3๊ฐ ์ ๋ ฅ๋ฐ์ ๊ฐ์ฅ ์์ ์ ์ถ๋ ฅํ๊ธฐ
๋ฌธ์ ์ค๋ช
์
๋ ฅ๋ ์ธ ์ ์ a, b, c ์ค ๊ฐ์ฅ ์์ ๊ฐ์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด ๋ณด์.
๋จ, ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ์ง ์๊ณ 3ํญ ์ฐ์ฐ์ ? ๋ฅผ ์ฌ์ฉํ๋ค.
์ฐธ๊ณ
C์ธ์ด ์์ค์ฝ๋ ์์ฑ ์ ๋ชจ๋ ์์๋ค์
"์์์ ๋ฐ๋ผ ํ ๋จ๊ณ์ฉ ์คํ"
"๋ฏธ๋ฆฌ ์ ํด์ง ์์์ ๋ฐ๋ผ ํ๋์ฉ ์ฐ์ฐ ์ํ"
"๊ทธ๋๊น์ง ์ฐ์ฐ๋ ๊ฒฐ๊ณผ๋ฅผ ์ด์ฉํด ๋ค์ ์์์ ๋ฐ๋ผ ํ๋์ฉ ์ฐ์ฐ"
...
๋ฑ์ ์๋ฆฌ๊ฐ ์ ์ฉ๋๋ค.
๋ฐ๋ผ์ 3ํญ ์ฐ์ฐ์ ? ๋ฅผ ์ค์ฒฉํด(๊ดํธ๋ก ๋ฌถ๋ ๋ฑ..) ์ด์ฉํ๋ฉด
์ฌ๋ฌ ๊ฐ๋ค์ ์์๋๋ก ๋น๊ตํด ๊ฐ์ฅ ํฐ/์์ ๊ฐ์ ๊ณ์ฐํ ์ ์๋ค.
์๋ฅผ ๋ค์ด
(a>b ? a:b)>c ? (a>b ? a:b):c์ ๊ณ์ฐ์์
a, b, c ์ ๊ฐ ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ผ๋ก ๊ณ์ฐ๋๋ค.
์ ์ดํด๊ฐ ๋์ง ์๋๋ค๋ฉด ์ด๋ค ์์์ ๋ฐ๋ผ ๊ณ์ฐ๋ ์ง ์๊ฐํด ๋ณด๊ณ
์ฌ๋ฌ ๊ฐ์ง ์ฐ์ฐ์๊ฐ ๋์์ ์ฌ์ฉ๋ ์์ด ์์ ๋,
์ด๋ค ์ฐ์ ์์์ ๋ฐ๋ผ ์์๋๋ก ๊ณ์ฐ์ด ๋๋์ง ์ฐพ์๋ณด๋๋ก ํ๋ค.
“์ฐ์ฐ์ ์ฐ์ ์์”๋ฅผ ๊ฒ์ํ๋ฉด ์ฐ์ ์์์ ๊ฒฐํฉ๋ฐฉํฅ์ด ๋์จ๋ค.
์๋ฅผ ๋ค์ด ๋ณ์์ ์ด๋ค ๊ฐ์ ๋์
ํ๋
๋์
(assign) ์ฐ์ฐ์ = ์ ์ฐ์ ์์๋ ๊ฐ์ฅ ๋ฎ๊ณ , ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ ๊ฒฐํฉ๋ฐฉํฅ์ ๊ฐ์ง๋ค.
๋ฐ๋ผ์,
a = b = c = d = e = f = g = h = i = j = 0;
์ ์์ ์คํํ๋ฉด ์ค๋ฅธ์ชฝ์์๋ถํฐ ์ผ์ชฝ์ผ๋ก ๊ฐ๋ฉด์
์ฒ์์ j ๋ณ์์ 0์ด ๋์
๋๊ณ , ๋ค์์ i ๋ณ์์ j๋ณ์์ ์ ์ฅ๋์ด ์๋ ๊ฐ์ด ์ ์ฅ๋๊ณ ,
๊ทธ๋ค์์ h ๋ณ์์ i๋ณ์์ ์ ์ฅ๋์ด ์๋ ๊ฐ์ด ์ ์ฅ๋๊ณ ...
๊ฒฐ๊ตญ ๋ชจ๋ ๋ณ์์ ๊ฐ์ 0์ผ๋ก ๋ง๋๋ ๊ฒฐ๊ณผ๊ฐ ๋๋ค.
** 3ํญ ์ฐ์ฐ์๋ ์์ฃผ ์ฌ์ฉ๋์ง๋ ์์ง๋ง,
๋ณต์กํ ๊ณ์ฐ์์ด๋ ์กฐ๊ฑด ์ฒ๋ฆฌ, ๋น๊ต ๊ตฌ์กฐ๋ฅผ ๋งค์ฐ ๊ฐ๋จํ ํํํ ์ ์๊ฒ ํด ์ค๋ค.
์ ์ฌ์ฉํด ๋ณด๋ฉด ๋๋ฆ๋๋ก์ ์ฌ๋ฏธ์ ๋ฌ๋ฏธ๊ฐ ์๋ ์ฐ์ฐ์์ด๋ค.
ํนํ, ๋ณด๋ค ์งง์ ์ฝ๋๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ํ๋
์ ์ฝ๋ฉ(coding)์์๋ ๋น ์ง ์ ์๋ ์์์ด๋ค.
"๋๊ฐ์ด ํด๊ฒฐํ ์ ์๋ ํ๋ก๊ทธ๋จ์ด์ง๋ง, ๋๋ก๋ ์์ฃผ ์ ์ ์์ค์ฝ๋ ์์ผ๋ก ํ์ด๋ด๋ ๊ฒ์
๋งค์ฐ ์ฆ๊ธฐ๋ ์ ์ฝ๋๋ค์ด ์๋ค."
์ ์ฝ๋ฉ์ ์ผ์ข
์ ์ฌ๋ฏธ์ด๊ธฐ๋ ํ์ง๋ง,
ํ๋ก๊ทธ๋๋ฐ์ธ์ด์ ๋ฐ๋ฐ๋ฅ ๊ธฐ์ด, ์ธ์ธํ ์ฒ๋ฆฌ ๊ณผ์ ์ ๋ํ ์ดํด,
์ปดํ์ผ๋ฌ์ ์์ค์ฝ๋ ํด์๊ณผ ๋ณํ ๋ฑ์ ๋ํ ๊ฒฝํ๊ณผ ์ง์์ด ํ์ํ๋ค.
์ ๋ ฅ
3๊ฐ์ ์ ์๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์
๋ ฅ๋๋ค.
-2147483648 ~ +2147483648
์ถ๋ ฅ
๊ฐ์ฅ ์์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
์ ๋ ฅ ์์
3 -1 5
์ถ๋ ฅ ์์
-1
๋ฌธ์ ํ์ด
#include <stdio.h>
int main(){
int a, b, c;
scanf("%d %d %d",&a,&b,&c);
printf("%d",(a<b?a:b)<c?(a<b?a:b):c);
return 0;
}