전체 글
10. 기초 - 삼항연산 (코드업 기초 100제)
Q38 ▶ 입력된 두 정수 a, b 중 큰 값을 출력하는 프로그램을 작성해보자. 단, 조건문을 사용하지 않고 3항 연산자 'and or' 를 사용한다. Tip 파이썬에서의 3항(세 개의 요소로 이루어지는) 연산자는 다른 언어와 사용 방식이 다소 다르다. 타 언어 : "조건식 ? (참일 때의 값) : (거짓일 때의 값)” 파이썬에서의 3항(ternary) 연산자는 "조건식 and (참일 때의 값) or (거짓일 때의 값)” 의 형태로 사용하는 연산자이다. 조건식의 계산 결과가 참인 경우에는 'and' 오른쪽의 값 또는 식으로 바뀌고, 거짓인 경우에는 'or' 오른쪽의 값 또는 식으로 바뀐다. 이것이 가능한 이유는 파이썬이 인터프리터 방식으로 동작하기 때문이다. a, b = map(int, input().s..
9. 기초 - 비트단위 논리연산 (코드업 기초 100제)
Q59 ▶ 입력 된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자. 예를 들어 1이 입력되었을 때 저장되는 1을 32비트 2진수로 표현하면 00000000 00000000 00000000 00000001 이고, ~1은 11111111 11111111 11111111 11111110 가 되는데 이는 -2를 의미한다. Tip 비트단위(bitwise)연산자 ' ~ ' 를 붙이면 된다. (~ : tilde, 틸드라고 읽는다.) bitNot = ~int(input()) print( bitNot ) ◼ 비트단위(bitwise) 연산자 ~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor), (bitwise right shift) Q60 ▶ 입력된 정수..
8. 기초 - 논리연산 (코드업 기초 100제)
Q53 ▶ 1(true, 참) 또는 0(false, 거짓) 이 입력되었을 때 반대로 출력하는 프로그램을 작성해보자. Tip 파이썬에서 비교/관계 연산(==, !=, >, =, > '뒤' for _ in range(4): a, b = map(int, input().split()) print( a and b ) Q55 ▶ 두 개의 참(1) 또는 거짓(0)이 입력될 때, 하나라도 참이면 참을 출력하는 프로그램을 작성해보자. Tip 파이썬에서는 OR연산값이 참이면 참인 값을 출력하게 된다. ex) '참' or 0 >> '참 ex) 0 or True >> True for i in range(4): a, b = map(int, input().split()) print( a or b ) Q55+ ▶ 1개의 정수형 입..
7. 기초 - 비교연산 (코드업 기초 100제)
Q49 ▶ 두 정수(a, b)를 입력받아 a가 b보다 크면 1을, a가 b보다 작거나 같으면 0을 출력하는 프로그램을 작성해보자. Tip 어떤 값을 비교하기 위해 비교/관계연산자(comparison/relational)를 사용할 수 있다. 비교/관계연산자 > 는 왼쪽의 값이 오른쪽 값 보다 큰 경우 참(true)을 나타내는 정수값 1로 계산하고, 그 외의 경우에는 거짓(false)를 나타내는 정수값 0으로 계산한다. 비교/관계연산자도 일반적인 사칙연산자처럼 주어진 두 수를 이용해 계산을 수행하고, 그 결과를 1(참), 또는 0(거짓)으로 계산해 주는 연산자이다. 비교/관계연산자는 >, =, b: print( 1 ) elif a = a: print( 1 ) else: print( 0 ) Q52 ▶ 두 정수..
6. 기초 - 비트 시프트 연산 (코드업 기초 100제)
Q47 ▶ 정수 1개를 입력받아 2배 곱해 출력해보자. Tip 곱하기 2를 해도 되지만 이진수를 왼쪽으로 한 번씩 이동시켜주면 기존 값의 두 배가 된다. ex) 5(101) => 10(1010), 7(111) => 14(1110) mul = int(input()) print( mul
5. 기초 - 산술연산 (코드업 기초 100제)
Q38 ▶ 정수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자. a, b = map(int, input().split()) print( a+b ) Q39 ▶ 정수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자. 실제 문제에서는 굉장히 넓은 정수 범위의 데이터형을 요구하는 문제이나 파이썬에서는 int()로 처리가 가능하다. 예를 들어 C에서 unsinged int보다도 크며 unsinged long과 같은 범위를 지니고 있다고 한다. 실제 범위 범위 : -9223372036854775808 ~ 9223372036854775807 이보다 큰 범위를 지정하고자 할 때는 long 데이터 형을 이용하면 된다. a, b = map(int, input().split()) print( a+b ) Q40 ▶ ..
4. 기초 - 출력변환 (코드업 기초 100제)
Q31 ▶ 10진수를 입력받아 8진수(octal)로 출력해보자. Tip 8진수는 '0o12'처럼 숫자 앞에 '0o'를 붙여준다. 이것으로 '12'가 8진수의 '12'임을 인지한다. 10진수를 8진수로 변환하는 함수는 oct()이며, '0o12'와 같이 출력되므로 앞 두자리를 생략하고 출력하면된다. 따라서 '0o12'[2:]를 해주면 되는 것. octal = int(input()) print( oct(octal)[2:] ) Q32 ▶ 10진수를 입력받아 16진수(hexadecimal)로 출력해보자. Tip 16진수는 '0xa'처럼 숫자 앞에 '0x'를 붙여준다. 이것으로 'a'가 16진수의 'a'임을 인지한다. 10진수를 16진수로 변환하는 함수는 hex()이며, '0xa'와 같이 출력되므로 앞 두자리를 ..
3. 기초 - 데이터형 (코드업 기초 100제)
Q28 ▶ 정수 1개를 입력받아 그대로 출력해보자. 파이썬에서의 int() 데이터형의 크기는 4바이트(32비트)로 지정되어있다. 이보다 큰 범위를 지정하고자 할 때는 long 데이터 형을 이용하면 된다. 파이썬에서 제공하는 데이터형 int (plain integers) : 정수 long (long integers) : int 보다 범위가 큰 정수(메모리 한계까지 저장 가능, 사실상 무제한) float (floating point numbers) : 실수 complex (complex numbers) : 복소수 integer = int(input()) print(integer) Q29 ▶ 실수 1개를 입력받아 그대로 출력해보자. fl = float(input()) print(fl) Q30 ▶ 정수 1개를 ..