728x90
코딩테스트 스터디 1주차로 코드업 기초 100제를 풀어보고 있다.
쉬운 내용이긴 하지만 분명히 허점도 있을 것이기에 기초를 다지자 하는 마음에서 풀고 있다.
🔎 코드업 기초 100제를 풀며 알아두면 좋을 것 정리
1. 입출력
- \도 안전하게 출력하려면 \\를 사용하는 것이 좋다.
- input().split(':') 를 사용하면 콜론 ':' 기호를 기준으로 자른다.
print(?, ?, sep=':') 를 사용하면 콜론 ':' 기호를 사이에 두고 값을 출력한다
2. 출력 변환
- print('%x' %n) #n에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력
print('%X' %n) #n에 저장되어있는 값을 16진수 대문자 형태 문자열로 출력
10진수 형태로 입력받고
%x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.
(%o로 출력하면 8진수(octal) 문자열로 출력된다.)
3. 값 변환
- n = int(input(), 16) #입력값을 16진수로 인식해 변수 n에 저장
- n = ord(input()) #입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다.
- c = chr(int(input())) #입력받은 정수 값을 유니코드 문자(chracter)로 바꿔 c에 저장한다.
- format(수, ".2f") 를 사용하면 원하는 자리까지의 정확도로 반올림 된 실수 값을 만들어 준다.
4. 비트시프트 연산
n = 10
print(n<<1) #10을 2배 한 값인 20 이 출력된다.
print(n>>1) #10을 반으로 나눈 값인 5 가 출력된다.
print(n<<2) #10을 4배 한 값인 40 이 출력된다.
print(n>>2) #10을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력된다.
- 왼쪽(<<)이나 오른쪽(>>)으로 지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어든다.
- python에서 실수 값에 대한 비트시프트 연산은 허용되지 않고 오류가 발생한다.
5. 비교연산
- 값을 비교하여 True/False 출력하기
print(123<456) #비교 연산자 < 의 계산 결과인 True(참)가 출력된다.
6. 논리연산
- bool( ) 을 이용하면 입력된 식이나 값을 평가해 불 형의 값(True 또는 False)을 출력해준다.
python 언어에서 정수값 0은 False(거짓)로 평가되고, 그 외의 값들은 모두 True(참)로 평가된다. - print(not a) #참, 거짓 바꾸기, a는 bool값
어떤 불 값이나 변수에 not True, not False, not a 와 같은 계산이 가능하다. - and 예약어는 주어진 두 불 값이 모두 True 일 때에만 True 로 계산하고, 나머지 경우는 False 로 계산한다.
- or 예약어는 주어진 두 불 값 중에서 하나라도 True 이면 True 로 계산하고, 나머지 경우는 False 로 계산한다.
- 두 불 값이 서로 다를 때에만 True 로 계산하는 논리연산을 XOR 연산이라고 부른다.
(a and (not b)) or ((not a) and b)
ex) 0, 0 => 0 / 0, 1 => 1 / 1, 0 => 1 / 1, 1 => 0
a = 1
print(~a) #-2가 출력된다.
a = 3
b = 5
print(a&b) #1이 출력된다.
- 비트단위로 출력하기
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor), <<(bitwise left shift), >>(bitwise right shift)
728x90
'Programming > Python' 카테고리의 다른 글
[Python] 리스트 여러개 for문 (변수 여러개 넣기) : zip (0) | 2021.07.07 |
---|---|
[Python] 빠르게 입력받기 (0) | 2021.07.01 |
[Python] 큐(queue) 예제 (0) | 2021.06.02 |
[Python] numpy RuntimeError 오류 (0) | 2020.11.29 |
[Python] 파이썬 문자열(String) 관련 함수들 (0) | 2020.09.08 |