알고리즘 공부를 위해 코드업 사이트(https://codeup.kr/)의 기초 100제를 시작합니다.

블로그에 올라온 모든 코드는 파이썬(Python)으로 작성되어 있습니다.   

 

Python의 기초 100제를 확인하기 위해서는 다음 사이트로 이동하면 됩니다. 

https://codeup.kr/problemsetsol.php?psid=33 

 

문제집 / Python 기초 100제

 

codeup.kr

 

6051 : [기초-비교연산] 정수 2개 입력받아 비교하기4(설명)(py)

두 정수(a, b)를 입력받아
a의 값이 b의 값과 서로 다르면 True 를, 같으면 False 를 출력하는 프로그램을 작성해보자.

 

▷ 참고

어떤 값을 비교하기 위해 비교/관계(comparison/relational) 연산자(operator)를 사용할 수 있다.

비교/관계연산자 != 는
왼쪽의 계산 결과값이 오른쪽의 계산 결과값이 서로 다른 경우 True(참)로 계산하고,
그 외의 경우에는 False(거짓)로 계산한다.

비교/관계연산자도 일반적인 사칙연산자처럼 주어진 두 수를 이용해 계산을 수행하고,
그 결과를 True(참), 또는 False(거짓)로 계산해주는 연산자이다.
비교/관계연산자는 <, >, <=, >=, ==(같다), !=(다르다) 6개가 있다.

 

▷ 해설

!는 프로그래밍 문법에서 부정의 의미로 쓰인다. 

그래서 !가 같다는 의미인 =와 같이 사용되면 ==의 반대인 부정의 의미인 같지않다(!=)가 된다

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

 

6052 : [기초-논리연산] 정수 입력받아 참 거짓 평가하기(설명)(py)

정수가 입력되었을 때, True/False 로 평가해주는 프로그램을 작성해보자.

 

▷ 참고

bool( ) 을 이용하면 입력된 식이나 값을 평가해 불 형의 값(True 또는 False)을 출력해준다.
식이나 값을 계산해서 결과값이 만들어지는 것을 평가(evaluate)라고 한다. 

python 언어에서 정수값 0은 False(거짓)로 평가되고, 그 외의 값들은 모두 True(참)로 평가된다.


불 대수(boolean algebra)는 수학자 불이 만들어낸 것으로 True(참)/False(거짓) 값만 가지는 논리값과 그 값들 사이의 연산을 다룬다.

 

▷ 해설

참과 거짓을 비교하기 위해서 bool함수를 이용하면된다.

bool함수는 0과 빈문자열 ''같은 값을 제외한 모든 값을 True로 가진다.

n = int(input())
print(bool(n))

 

6053 : [기초-논리연산] 참 거짓 바꾸기(설명)(py)

정수값이 입력될 때,
그 불 값을 반대로 출력하는 프로그램을 작성해보자.

 

▷ 참고

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

어떤 불 값이나 변수에 not True, not False, not a 와 같은 계산이 가능하다.

참 또는 거짓의 논리값을 역(반대)으로 바꾸기 위해서 not 예약어(reserved word, keyword)를 사용할 수 있다.

이러한 논리연산을 NOT 연산(boolean NOT)이라고도 부르고,
프라임 '(문자 오른쪽 위에 작은 따옴표), 바(기호 위에 가로 막대), 문자 오른쪽 위에 c(여집합, complement) 등으로 표시한다.
모두 같은 의미이다.

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

정수값 0은 False 이고, 나머지 정수 값들은 True 로 평가된다.
빈 문자열 "" 나 ''는 False 이고, 나머지 문자열들은 True 로 평가된다.

불 대수(boolean algebra)는 수학자 불이 만들어낸 것으로 True(참)/False(거짓) 값만 가지는 논리값과 그 값들 사이의 연산을 다룬다.

 

▷ 해설

비교관계 연산자의 결과나 bool함수의 결과의 반대 값을 구하기 위해서는 not 예약어를 이용한다.

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

 

6054 : [기초-논리연산] 둘 다 참일 경우만 참 출력하기(설명)(py)

2개의 정수값이 입력될 때,
그 불 값이 모두 True 일 때에만 True 를 출력하는 프로그램을 작성해보자.

 

▷ 참고

and 예약어는 주어진 두 불 값이 모두 True 일 때에만 True 로 계산하고, 나머지 경우는 False 로 계산한다.
이러한 논리연산을 AND 연산(boolean AND)이라고도 부르고, · 으로 표시하거나 생략하며, 집합 기호 ∩(교집합, intersection)로 표시하기도 한다. 
모두 같은 의미이다.

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

불 대수(boolean algebra)는 수학자 불이 만들어낸 것으로 True(참)/False(거짓) 값만 가지는 논리값과 그 값들 사이의 연산을 다룬다.

 

▷ 해설

두 값이 모두 참일 때에만 True를 가지는 AND 연산을 이용하면 두 값이 모두 참인지 알 수 있다.

참고로 대부분의 프로그래밍 문법은 python과는 달리 AND를 &&로 표현한다.

a, b = input().split()

a = int(a)
b = int(b)
print(bool(a) and bool(b))

 

6055 : [기초-논리연산] 하나라도 참이면 참 출력하기(설명)(py)

2개의 정수값이 입력될 때,
그 불 값이 하나라도 True 일 때에만 True 를 출력하는 프로그램을 작성해보자.

 

▷ 참고

or 예약어는 주어진 두 불 값 중에서 하나라도 True 이면 True 로 계산하고, 나머지 경우는 False 로 계산한다.
이러한 논리연산을 OR 연산(boolean OR)이라고도 부르고, + 로 표시하거나, 집합 기호 ∪(합집합, union)로 표시하기도 한다.
모두 같은 의미이다.

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

불 대수(boolean algebra)는 수학자 불이 만들어낸 것으로 True(참)/False(거짓) 값만 가지는 논리값과 그 값들 사이의 연산을 다룬다.

▷ 해설

두 값 중 하나라도 참인 경우 True를 가지는 OR 연산을 이용하면 두 값 중 하나라도 참인지 알 수 있다.

참고로 대부분의 프로그래밍 문법은 python과는 달리 OR을 ||로 표현한다.

a, b = input().split()

a = int(a)
b = int(b)
print(bool(a) or bool(b))

+ Recent posts