728x90

# 1053 : [๊ธฐ์ดˆ-๋…ผ๋ฆฌ์—ฐ์‚ฐ] ์ฐธ ๊ฑฐ์ง“ ๋ฐ”๊พธ๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

1(true, ์ฐธ) ๋˜๋Š” 0(false, ๊ฑฐ์ง“) ์ด ์ž…๋ ฅ๋˜์—ˆ์„ ๋•Œ ๋ฐ˜๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž.

์ฐธ๊ณ 
C์–ธ์–ด์—์„œ ๋น„๊ต/๊ด€๊ณ„ ์—ฐ์‚ฐ(==,!=, >, <, >=, <=)์ด ์ˆ˜ํ–‰๋  ๋•Œ,
0์€ ๊ฑฐ์ง“(false)์œผ๋กœ ์ธ์‹๋˜๊ณ , 0์ด ์•„๋‹Œ ๋ชจ๋“  ์ˆ˜๋Š” ์ฐธ(true)์œผ๋กœ ์ธ์‹๋œ๋‹ค.

์ฐธ ๋˜๋Š” ๊ฑฐ์ง“์˜ ๋…ผ๋ฆฌ๊ฐ’์„ ์—ญ(๋ฐ˜๋Œ€)์œผ๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด์„œ๋Š”
๋…ผ๋ฆฌ(logical) ์—ฐ์‚ฐ์ž! ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์„ NOT ์—ฐ์‚ฐ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅด๊ณ ,
ํ”„๋ผ์ž„(๊ธฐํ˜ธ ์˜ค๋ฅธ์ชฝ์— ๋”ฐ์˜ดํ‘œ)์ด๋‚˜ ๋ฐ”(๊ธฐํ˜ธ ์œ„์— ๊ฐ€๋กœ ๋ง‰๋Œ€)๋กœ ํ‘œ์‹œํ•˜๊ณ ,
์ง‘ํ•ฉ ๊ธฐํ˜ธ๋กœ๋Š” c (์—ฌ์ง‘ํ•ฉ, complement)๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋ชจ๋‘ ๊ฐ™์€ ์˜๋ฏธ์ด๋‹ค.

์ฐธ, ๊ฑฐ์ง“์˜ ๋…ผ๋ฆฌ๊ฐ’(boolean value)์ธ ๋ถˆ ๊ฐ’์„ ๋‹ค๋ฃจ์–ด์ฃผ๋Š” ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž๋Š”
!(not), &&(and), ||(or) ์ด ์žˆ๋‹ค.

** ๋ถˆ ๋Œ€์ˆ˜(boolean algebra)๋Š” ์ˆ˜ํ•™์ž ๋ถˆ์ด ๋งŒ๋“ค์–ด๋‚ธ ๊ฒƒ์œผ๋กœ
์ฐธ/๊ฑฐ์ง“๋งŒ ๊ฐ€์ง€๋Š” ๋…ผ๋ฆฌ๊ฐ’๊ณผ ๊ทธ ์—ฐ์‚ฐ์„ ๋‹ค๋ฃฌ๋‹ค.

์˜ˆ์‹œ
printf("%d", !0); //๊ฑฐ์ง“์˜ ๋ฐ˜๋Œ€, ์ฆ‰ ์ฐธ์ธ 1๋กœ ๊ณ„์‚ฐ๋จ
printf("%d", !1); //์ฐธ์˜ ๋ฐ˜๋Œ€, ์ฆ‰ ๊ฑฐ์ง“์ธ 0์œผ๋กœ ๊ณ„์‚ฐ๋จ
printf("%d", !999); //์ฐธ์˜ ๋ฐ˜๋Œ€, ์ฆ‰ ๊ฑฐ์ง“์ธ 0์œผ๋กœ ๊ณ„์‚ฐ๋จ

์–ด๋–ค ๋ณ€์ˆ˜ a์—,! a์™€ ๊ฐ™์€ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์ž…๋ ฅ

์ •์ˆ˜ 1๊ฐœ๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค.(๋‹จ, 0 ๋˜๋Š” 1 ๋งŒ ์ž…๋ ฅ๋œ๋‹ค.)

 

์ถœ๋ ฅ

์ž…๋ ฅ๋œ ๊ฐ’์ด 0์ด๋ฉด 1, 1์ด๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ž…๋ ฅ ์˜ˆ์‹œ
1

์ถœ๋ ฅ ์˜ˆ์‹œ
0
 

๋ฌธ์ œ ํ’€์ด

#include <stdio.h>

int main(){
    int n;
    scanf("%d",&n);
    printf("%d",!n);
    
    return 0;
}

#1054 : [๊ธฐ์ดˆ-๋…ผ๋ฆฌ์—ฐ์‚ฐ] ๋‘˜ ๋‹ค ์ฐธ์ผ ๊ฒฝ์šฐ๋งŒ ์ฐธ ์ถœ๋ ฅํ•˜๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

๋‘ ๊ฐœ์˜ ์ฐธ(1) ๋˜๋Š” ๊ฑฐ์ง“(0)์ด ์ž…๋ ฅ๋  ๋•Œ, ๋ชจ๋‘ ์ฐธ์ผ ๋•Œ์—๋งŒ ์ฐธ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž.


์ฐธ๊ณ 
๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž && ๋Š” ์ฃผ์–ด์ง„ 2๊ฐœ์˜ ๋…ผ๋ฆฌ๊ฐ’์ด ๋ชจ๋‘ ์ฐธ(1) ์ผ ๋•Œ์—๋งŒ 1(์ฐธ)๋กœ ๊ณ„์‚ฐํ•˜๊ณ ,
๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” 0(๊ฑฐ์ง“)์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์„ AND ์—ฐ์‚ฐ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅด๊ณ , · ์œผ๋กœ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ์ƒ๋žตํ•˜๋ฉฐ,
์ง‘ํ•ฉ ๊ธฐํ˜ธ๋กœ๋Š” ∩(๊ต์ง‘ํ•ฉ, intersection)์„ ์˜๋ฏธํ•œ๋‹ค. ๋ชจ๋‘ ๊ฐ™์€ ์˜๋ฏธ์ด๋‹ค.

 

์˜ˆ์‹œ
printf("%d", 1&&1); //๋‘˜ ๋‹ค ์ฐธ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ 1๋กœ ๊ณ„์‚ฐ๋˜์–ด ์ถœ๋ ฅ๋œ๋‹ค.

 

์ž…๋ ฅ

1 ๋˜๋Š” 0์˜ ๊ฐ’๋งŒ ๊ฐ€์ง€๋Š” 2๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์ž…๋ ฅ๋œ๋‹ค.

 

์ถœ๋ ฅ

๋‘˜ ๋‹ค ์ฐธ(1) ์ผ ๊ฒฝ์šฐ์—๋งŒ 1์„ ์ถœ๋ ฅํ•˜๊ณ , ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ž…๋ ฅ ์˜ˆ์‹œ
1 1

์ถœ๋ ฅ ์˜ˆ์‹œ
1

๋ฌธ์ œ ํ’€์ด

#include <stdio.h>

int main(){
    int a, b;
    scanf("%d %d",&a,&b);
    printf("%d",a && b == 1);
    
    return 0;
}

#1055 : [๊ธฐ์ดˆ-๋…ผ๋ฆฌ์—ฐ์‚ฐ] ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ด๋ฉด ์ฐธ ์ถœ๋ ฅํ•˜๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

๋‘ ๊ฐœ์˜ ์ฐธ(1) ๋˜๋Š” ๊ฑฐ์ง“(0)์ด ์ž…๋ ฅ๋  ๋•Œ, ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ด๋ฉด ์ฐธ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž.

์ฐธ๊ณ 
๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž || ๋Š” ์ฃผ์–ด์ง„ 2๊ฐœ์˜ ๋…ผ๋ฆฌ๊ฐ’ ์ค‘์— ํ•˜๋‚˜๋ผ๋„ ์ฐธ(1) ์ด๋ฉด 1(์ฐธ)๋กœ ๊ณ„์‚ฐํ•˜๊ณ ,
๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” 0(๊ฑฐ์ง“)์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

** | ๊ธฐํ˜ธ๋Š” ์‰ฌํ”„ํŠธ๋ฅผ ๋ˆ„๋ฅธ ์ƒํƒœ์—์„œ ๋ฐฑ์Šฌ๋ž˜์‹œ(\)๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‚˜์˜ค๋Š” ๊ธฐํ˜ธ๋กœ,
๋ฒ„ํ‹ฐ์ปฌ ๋ฐ”(vertical bar) ๊ธฐํ˜ธ์ด๋‹ค.

์ด๋Ÿฌํ•œ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์„ OR ์—ฐ์‚ฐ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅด๊ณ ,
+ ๋กœ ํ‘œ์‹œํ•˜๋ฉฐ, ์ง‘ํ•ฉ ๊ธฐํ˜ธ๋กœ๋Š” ∪(ํ•ฉ์ง‘ํ•ฉ, union)์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋ชจ๋‘ ๊ฐ™์€ ์˜๋ฏธ์ด๋‹ค.

์˜ˆ์‹œ
printf("%d", 0||0); //๋‘˜ ๋‹ค ๊ฑฐ์ง“์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ 0์ด ๊ณ„์‚ฐ๋˜์–ด ์ถœ๋ ฅ๋œ๋‹ค.

 

์ž…๋ ฅ

1 ๋˜๋Š” 0์˜ ๊ฐ’๋งŒ ๊ฐ€์ง€๋Š” 2๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์ž…๋ ฅ๋œ๋‹ค.

 

์ถœ๋ ฅ

ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ผ ๊ฒฝ์šฐ 1์„ ์ถœ๋ ฅํ•˜๊ณ , ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ž…๋ ฅ ์˜ˆ์‹œ
1 1

์ถœ๋ ฅ ์˜ˆ์‹œ
1

๋ฌธ์ œ ํ’€์ด

#include <stdio.h>

int main(){
    int a, b;
    scanf("%d %d",&a,&b);
    printf("%d",a||b);
    
    return 0;
}

#1056 : [๊ธฐ์ดˆ-๋…ผ๋ฆฌ์—ฐ์‚ฐ] ์ฐธ/๊ฑฐ์ง“์ด ์„œ๋กœ ๋‹ค๋ฅผ ๋•Œ์—๋งŒ ์ฐธ ์ถœ๋ ฅํ•˜๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

๋‘ ๊ฐ€์ง€์˜ ์ฐธ(1) ๋˜๋Š” ๊ฑฐ์ง“(0)์ด ์ž…๋ ฅ๋  ๋•Œ, ์ฐธ/๊ฑฐ์ง“์ด ์„œ๋กœ ๋‹ค๋ฅผ ๋•Œ์—๋งŒ ์ฐธ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž.

์ฐธ๊ณ 
์ด๋Ÿฌํ•œ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์„ XOR(exclusive or, ๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ) ์—ฐ์‚ฐ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.
์ง‘ํ•ฉ์˜ ์˜๋ฏธ๋กœ๋Š” ํ•ฉ์ง‘ํ•ฉ์—์„œ ๊ต์ง‘ํ•ฉ์„ ๋บ€ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋ชจ๋‘ ๊ฐ™์€ ์˜๋ฏธ์ด๋‹ค.

๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž๋Š” ์‚ฌ์น™์—ฐ์‚ฐ์ž์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์—ฌ๋Ÿฌ ๋ฒˆ ์ค‘๋ณตํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ,
์—ฐ์‚ฐ์˜ ์ˆœ์„œ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ์œ„ํ•ด ๊ด„ํ˜ธ ( )๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌถ์–ด ์ฃผ๋ฉด ๋œ๋‹ค.

์ˆ˜ํ•™์—์„œ๋Š” ๊ด„ํ˜ธ, ์ค‘๊ด„ํ˜ธ, ๋Œ€๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ C์–ธ์–ด์—์„œ๋Š” ์†Œ๊ด„ํ˜ธ ( )๋งŒ์„ ์‚ฌ์šฉํ•œ๋‹ค.

์˜ˆ์‹œ
printf(“%d”, (a&&!b)||(!a&&b)); //์ฐธ/๊ฑฐ์ง“์ด ์„œ๋กœ ๋‹ค๋ฅผ ๋•Œ์—๋งŒ 1๋กœ ๊ณ„์‚ฐ

xor ์ด๋ž€?
๋‘˜ ์ค‘์— ํ•˜๋‚˜๋งŒ 1์ผ ๋•Œ 1์ด๋ผ๋Š” ๊ฑฐ์˜ˆ์š”
(1,0)=1
(0,1)=1
ํ•˜์ง€๋งŒ ๋‘ ๊ฐœ๊ฐ€ ๊ฐ™์œผ๋ฉด 0์ด ๋˜์ฃ 
(0,0)=0
(1,1)=0

์ˆ˜์‹์œผ๋กœ ๋”ฐ์ง€๋ฉด a!=b  ๋˜๋Š” a^b ๊ฐ€ ๋˜๊ฒ ์ง€์š”
a) != ๋Š” ๊ทธ๋ƒฅ ๋‘ ๊ฐœ๊ฐ€ ๊ฐ™์ง€ ์•Š๋‹ค๋Š” ๋œป์ด์—์š”(๋‘ ๊ฐœ๊ฐ€ ๊ฐ™์ง€ ์•Š์œผ๋ฉด ์ฐธ์ด๋‹ˆ 1์ด ์ถœ๋ ฅ ์•„๋‹ˆ๋ฉด ๊ฑฐ์ง“์ด๋‹ˆ 0์ด ์ถœ๋ ฅ๋˜๊ฒ ์ง€์š”?)
b) ^๋Š” ๊ทธ๋ƒฅ +,-,*,/,%์™€ ๊ฐ™์ด ์—ฐ์‚ฐ์ž์˜ˆ์š” xor์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธฐํ˜ธ

 

์ž…๋ ฅ

1 ๋˜๋Š” 0์˜ ๊ฐ’๋งŒ ๊ฐ€์ง€๋Š” 2๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์ž…๋ ฅ๋œ๋‹ค.

 

์ถœ๋ ฅ

์ฐธ/๊ฑฐ์ง“์ด ์„œ๋กœ ๋‹ค๋ฅผ ๋•Œ์—๋งŒ 1์„ ์ถœ๋ ฅํ•˜๊ณ , ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ž…๋ ฅ ์˜ˆ์‹œ
1 1

์ถœ๋ ฅ ์˜ˆ์‹œ
0

๋ฌธ์ œ ํ’€์ด

#include <stdio.h>

int main(){
    int a, b;
    scanf("%d %d",&a,&b);
    printf("%d",a^b);
    
    return 0;
}

#1057 : [๊ธฐ์ดˆ-๋…ผ๋ฆฌ์—ฐ์‚ฐ] ์ฐธ/๊ฑฐ์ง“์ด ์„œ๋กœ ๊ฐ™์„ ๋•Œ์—๋งŒ ์ฐธ ์ถœ๋ ฅํ•˜๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

๋‘ ๊ฐœ์˜ ์ฐธ(1) ๋˜๋Š” ๊ฑฐ์ง“(0)์ด ์ž…๋ ฅ๋  ๋•Œ,
์ฐธ/๊ฑฐ์ง“์ด ์„œ๋กœ ๊ฐ™์„ ๋•Œ์—๋งŒ ์ฐธ์ด ๊ณ„์‚ฐ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž.

์ž…๋ ฅ

1 ๋˜๋Š” 0์˜ ๊ฐ’๋งŒ ๊ฐ€์ง€๋Š” 2๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์ž…๋ ฅ๋œ๋‹ค.

 

์ถœ๋ ฅ

์ฐธ/๊ฑฐ์ง“์ด ์„œ๋กœ ๋‹ค๋ฅผ ๋•Œ์—๋งŒ 1์„ ์ถœ๋ ฅํ•˜๊ณ , ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

์ž…๋ ฅ ์˜ˆ์‹œ
0 0

์ถœ๋ ฅ ์˜ˆ์‹œ
1

๋ฌธ์ œ ํ’€์ด

#include <stdio.h>

int main(){
    int a, b;
    scanf("%d %d",&a,&b);
    printf("%d",(!a&&!b)||(a&&b));
    
    return 0;
}

#1058 : [๊ธฐ์ดˆ-๋…ผ๋ฆฌ์—ฐ์‚ฐ] ๋‘˜ ๋‹ค ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ๋งŒ ์ฐธ ์ถœ๋ ฅํ•˜๊ธฐ 

๋ฌธ์ œ ์„ค๋ช…

๋‘ ๊ฐœ์˜ ์ฐธ(1) ๋˜๋Š” ๊ฑฐ์ง“(0)์ด ์ž…๋ ฅ๋  ๋•Œ, ๋ชจ๋‘ ๊ฑฐ์ง“์ผ ๋•Œ์—๋งŒ ์ฐธ์ด ๊ณ„์‚ฐ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž.

์ž…๋ ฅ

1 ๋˜๋Š” 0์˜ ๊ฐ’๋งŒ ๊ฐ€์ง€๋Š” 2๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์ž…๋ ฅ๋œ๋‹ค.

 

์ถœ๋ ฅ

๋‘˜ ๋‹ค ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ์—๋งŒ 1์„ ์ถœ๋ ฅํ•˜๊ณ , ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

์ž…๋ ฅ ์˜ˆ์‹œ
0 1

์ถœ๋ ฅ ์˜ˆ์‹œ
0

๋ฌธ์ œ ํ’€์ด

#include <stdio.h>

int main(){
    int a, b;
    scanf("%d %d",&a,&b);
    printf("%d",!a&&!b);
    
    return 0;
}

 

+ Recent posts