Home TIL 220207
Post
Cancel

TIL 220207

Python

split 함수

특정한 구분자로 구분되어 입력된 값을 나누어 저장할때 사용
a, b = input().split()

map 함수

리스트 형태의 요소를 한번에 형변환할 때 사용
a, b = map(int, input().split())

문자열 인덱싱/슬라이싱

1
2
str = "korea"
print(str[1:4])

str[a:b]는 문자열의 a번 인덱스부터 b-1번 인덱스까지를 의미하므로 위 코드를 실행시키면 1번인덱스인 o부터 3번 인덱스인 e까지인 ore가 출력된다.

https://wikidocs.net/2838

진수 변환

입력 a = int(input(),16) 16진수로 입력받음

code

1
2
3
4
5
print("%d", %a) # 10진수 출력
print("%x", %a) # 16진수 출력
print("%X", %a) # 16진수 대문자로 출력
print("%o", %a) # 8진수 출력
print("%O", %a) # 8진수 대문자로 출력

유니코드 변환

ord() : 문자를 유니코드 상의 정수로 변환
chr() : 정수를 유니코드 문자로 변환

소숫점 반올림

format(a, ".2f") : 소숫점 이하 2번째 자리까지 반올림
format(a, ".3f") : 소숫점 이하 3번째 자리까지 반올림

비트 연산자

비트 시프트

n << k : n을 왼쪽으로 k칸씩 이동 → n x 2k
n >> k n: 을 오른쪽으로 k칸씩 이동 → n x 2-k
n << 1 : n x 21
12 << 2 : 12의 4배이므로 48
12 >> 2 : 12의 1/4배이므로 3

~ (tilde) 연산

비트 단위로 True/False를 맞바꾸는 연산
~n = -n - 1 -n = ~n + 1

2진수 음수표기 방법

첫번째 방법
2진수의 제일 끝 자리를 부호용으로 정한 표기법

두번째 방법 : 1의 보수
2진수 양수의 각 비트를 반대로 바꿈.
ex) -5를 표현하기 위해 5인 0101을 1010으로 바꿈.
양수와 음수를 계산할 때 원래의 값에서 1이 작게 나오는 문제 발생.

최종 방법 : 2의 보수
1의 보수의 문제를 해결하기 위해 1의 보수로 변환 후 1을 더함.

Ref.

Twos complement: Negative numbers in binary (Ben Eater)
관련 예제

This post is licensed under CC BY 4.0 by the author.

코딩테스트 합격을 위한 로드맵

[Python] 코드업 6044 : 정수 2개 입력받아 자동 계산하기