Algorithm

(Python) 알아두면 좋은 점

Accept 2024. 1. 27. 21:08

1. 실수형

a = 5. -> 5.0
b = -.7 -> -0.7

 


2. 2진수 소수 연산
2진수에서는 0.9를 정확히 표현할 방법이 없다. 0.3 + 0.6은 0.89999999..로 저장된다. 이런 경우 round()를 사용한다. 흔히 코딩 테스트 문제에서는 소수점 다섯번째 자리에서 반올림한 결과가 같으면 정답으로 인정하는 식으로 처리한다.

a = 0.3 + 0.6

print(round(a, 4))

 


3. 수 자료형 연산

print(a / b) # 나누기
print(a % b) # 나머지
print(a // b) # 몫
print(a ** b) # 제곱



4. 리스트
* 선언

a = list()
a = []


* 크기가 N이고, 모든 값이 0인 1차원 리스트 초기화

n = 10
a = [0] * n -> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


* 리스트의 인덱싱과 슬라이싱

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a[-1]) # 뒤에서 첫번째 원소 출력
print(a[-3]) # 뒤에서 세번째 원소 출력
print(a[1 : 4]) # 두번째 원소부터 네번째 원소까지 출력


* 리스트 컴프리헨션(2차원 리스트 초기화 시 유용)

array = [i for i in range(20) if i % 2 == 1] # 0부터 20까지의 수 중에서 홀수만 포함하는 리스트 초기화

array = [i * i for i in range(1, 10)] # 1부터 9까지의 수의 제곱 값을 포함한 리스트 초기화

n = 3
m = 4
array = [[0] * m for _ in range(n)]

 

 
* 기타 메소드

a.sort() # 오름차순 정렬, 시간 복잡도는 O(NlogN)
a.sort(reverse = True) # 내림차순 정렬, 시간 복잡도는 O(NlogN)
a.reverse() # 원소 뒤집기, 시간 복잡도는 O(N)


* remove_set을 이용한 리스트에 포함된 특정 값 제거하기

a = [1, 2, 3, 4, 5, 5, 5]
remove_set = [3, 5]
result = [i for i in a if i not in remove_set]



5. 자료형
* 문자열

a = "String"
print(a * 3) # StringStringString


* 튜플

a = (1, 2, 3, 4)
# 한번 선언된 값은 변경 불가
# ()를 통해 선언

 

* 집합 자료형

# 중복을 허용하지 않는다.
# 순서가 없다.

data = set([1, 1, 2, 3, 4, 4, 5])
data = [1, 1, 2, 3, 4, 4, 5]

# 연산 방법
a = set([1, 2, 3, 4, 5])
b = set([3, 4, 5, 6, 7])
print(a | b) # 합집합
print(a & b) # 교집합
print(a - b) # 차집함

 

 

6. 조건문

# 1
score = 85
result = "Success" if score >= 80 else "Fail"

# 2
a = [1, 2, 3, 4, 5, 5, 5]
remove_set = [3, 5]
result = [i for i in a not in remove_set]

 

 

7. 함수

# 람다 표현식
def add(a, b):
    return a + b

# 일반적인 add() 메서드 사용 시
print(add(3, 7)

# 람다 표현식으로 구현한 add() 메소드
print((lambda a, b: a + b)(3, 7))

 

 

8. 입출력

# 입력 받은 문자열을 띄어쓰기로 구분하여 각각 정수로 변환하기
list(map(int, input().split()))


# 공백을 기준으로 구분하여 적은 수의 데이터 입력받기
n, m, k = map(int, input().split())


# 입력 개수가 많을 경우 readline() 사용하기
import sys

data = sys.stdin.readline().rstrip()


# 정수 변수를 문자열로 바꾸어 출력하는 예시
# 파이썬은 Java와 같이 정수를 자동으로 문자열로 변경해주지 않고 에러를 반환한다
# 아래 3가지 예시 모두 "정답은 7 입니다."을 출력한다.
answer = 7
print("정답은 " + str(answer) + " 입니다.")
print("정답은", answer, "입니다.")
print(f"정답은 {answer}입니다.")

'Algorithm' 카테고리의 다른 글

(Java) 가위바위보  (0) 2024.01.28
(Java) 뒤집은 소수  (1) 2024.01.27
(Java) PCCP 기출문제 1번 / 붕대감기  (0) 2024.01.27
(Java) 구간 합 구하기(백준 11659)  (0) 2023.06.06
(Java) 평균 구하기(백준 1546)  (0) 2023.06.06