티스토리 뷰

 

 

6051. 정수 2개 입력받아 비교하시오.

 

 

입력

0 1

출력

True

(a와 b가 다른 경우 True 를, 그렇지 않은 경우 False 를 출력한다.)

 

 

a,b=map(int,input().split())
print(a!=b)

 

 

 

 

 

6052. 정수 입력받아 참 거짓 평가하시오.

 

 

입력

0

출력

False

(입력된 값이 0이면 False, 0이 아니면 True 를 출력한다.)

 

 

a=int(input())
print(bool(a))

 

bool()은 입력된 식이나 값을 평가해 참 거짓을 출력하는 논리연산자이다.

 

 

 

 

 

6053. 참 거짓 바꾸어보시오.

 

 

입력

1

출력

False

(입력된 정수의 불 값이 False 이면 True, True 이면 False 를 출력한다.)

 

a=bool(int(input()))
print(not a)

 

a=bool(int(input())) 
#이런 형태로 겹쳐 작성하면, 한 번에 한 단계씩 계산/처리/평가된다.
위와 같은 명령문의 경우 input( ), int( ), bool( ) 순서로 한 번에 한 단계씩 계산/처리/평가된다.

print(not a)

#논리값을 역(반대)으로 바꾸기 위해서 not 예약어(reserved word, keyword)를 사용한다.

 

 

참, 거짓의 논리값 인 불(boolean) 값을 다루어주는 예약어는 not, and, or 이 있고,
불 값들 사이의 논리(not, and, or) 연산 결과도 마찬가지로 True 또는 False 의 불 값으로 계산 된다.

 

 

 

 

 

6054. 둘 다 참일 경우만 참을 출력하시오.

 

 

입력

1 1

출력

True

(둘 다 True 일 경우에만 True 를 출력하고, 그 외의 경우에는 False 를 출력한다.)

 

 

a,b=map(int,input().split())
print(bool(a) and bool(b))

 

 

 

 

 

6055. 하나라도 참이면 참 출력시오.

 

 

입력

1 1

출력

True

(하나라도 참일 경우 True 를 출력하고, 그 외의 경우에는 False 를 출력한다.)

 

 

a,b=map(int,input().split())
print(bool(a) or bool(b))

 

 

 

 

 

 

6056. 참/거짓이 서로 다를 때에만 참 출력시오.

 

 

입력

1 1

출력

False

(두 값의 True / False 값이 서로 다를 경우만 True 를 출력하고, 그 외의 경우에는 False 를 출력한다.)

 

 

 

a,b=map(int,input().split())
print(bool(a) != bool(b))

두 값이 서로 다를 경우에만 True 를 출력하는 경우는 xor연산을 말한다.

 

 

 

 

 

6057. 참/거짓이 서로 같을 때에만 참 출력시오.

 

 

입력

0 0

출력

True

(두 값의 True / False 값이 서로 같을 경우만 True 를 출력하고, 그 외의 경우에는 False 를 출력한다.)

 

 

 

a,b=map(int,input().split())
print(bool(a) == bool(b))

 

 

 

다른 모범답안

a, b = input().split()
a = bool(int(a))
b = bool(int(b))
print((a and b) or (not a and not b))

ab를 and 연산하고 not a not b를 and 연산 후 or 연산해준다.

 

 

 

 

 

 

 

6058. 둘 다 거짓일 경우만 참 출력시오.

 

 

입력

0 0

출력

True

(두 값의 True / False 값이 모두 False 일 때만 True 를 출력하고, 그 외의 경우에는 False 를 출력한다.)

 

 

 

a,b=map(int,input().split())
print(not (bool(a) or bool(b)))

두 값이 모두 거짓일 때만 참이라는 것은 not A and not B 이다.

괄호로 묶으면 not(A or B) 가 된다.

 

 

 

 

 

다른 모범답안

a, b = input().split()
c= bool(int(a))
d= bool(int(b))

print( c==False and d==False )

 

 

 

 

 

 

 

 

6059. 비트단위로 NOT 하여 출력시오.

 

 

입력

2

출력

-3

 

 

 

a=int(input())
print(~a)

입력 된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력하는 것은 비트단위(bitwise)연산자 ~ 를 붙이면 된다.

 

예를 들어 1이 입력되었을 때 저장되는 1을 32비트 2진수로 표현하면
        00000000 00000000 00000000 00000001 이고,
~1은 11111111 11111111 11111111 11111110 가 되는데 이는 -2를 의미한다.

 

이러한 내용을 간단히 표현하면 정수 n이라고 할 때,

~n = -n - 1
-n = ~n + 1  이다.

 

 

 

 

 

 

 

 

6060. 비트단위로 AND 하여 출력시오.

 

 

입력

3 5

출력

1

 

 

a,b=map(int,input().split())
print(a&b)

 

 

 

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday