본문 바로가기
Algorithm/CodeUp

[CodeUp 기초 100제] 1054 : [기초-논리연산] 둘 다 참일 경우만 참 출력하기(풀이 성공)

by 전봇대파괴자 2021. 2. 18.

입력:

1 또는 0의 값만 가지는 2개의 정수가 공백을 두고 입력된다.

 

 

출력:

둘 다 참(1)일 경우에만 1을 출력하고, 그 외의 경우에는 0을 출력한다.


내 코드:

x,y=map(int, input().split())
print(int(bool(x)&bool(y)))

 

Comment: '둘 다 참(1)일 경우에만'이라는 말 때문에 if 문을 사용해야 한다고 생각하기 쉽지만, 비교 연산자를 쓰면 더욱 간결한 코드를 작성할 수 있습니다. '&'(=and) 비교연산자는 두 값이 모두 True일 때에만 True를 반환합니다. 예시는 아래와 같습니다.

 

print(True & True)
>> True

print(True & False)
>> False

print(False & True)
>> False

print(False & False)
>> False

 

여기서 bool 함수는 input 값이 참인가 아닌가를 판단해줍니다. 이를테면 아래와 같습니다.

 

# 참(True)으로 판단할 경우
# 0 외의 값은 모두 참으로 판단
bool(1)
>> True

bool('a')
>> True

# 거짓(False)으로 판단할 경우
# 거짓으로 판단되는 경우는 아래 두 가지가 전부라고 생각하면 된다!
bool(0) # 0=False=거짓이 input될 경우
>> False

bool() # input값 자체가 존재하지 않을 경우
>> False