간단 개발노트

[파이썬] 기본 알고리즘 함수 정리

Rogue One 2021. 7. 8. 20:00

알고리즘을 원래 C++로 했는데, 파이썬으로 갈아탔다.

https://velog.io/@gndan4/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B4%80%EB%A0%A8-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%A3%BC%EC%9A%94-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC

 

알고리즘 관련 파이썬 주요 라이브러리

출처: 이것이 취업을 위한 코딩테스트다 - 나동빈 저(https://ridibooks.com/books/443000825배너: godori님이 만드신 배너 메이커 활용내장 함수: print(), input()과 같은 기본 입출력 기능부터 sorted()와 같은

velog.io

 

Range

https://ooyoung.tistory.com/31

 

파이썬 range( ) 함수: 숫자(정수) 리스트를 생성하는 함수

Python range( ) 함수 - 순서 - 1. range 함수 설명 2. Possible type 3. for문을 이용한 사용 예시 4. 정리 1. range 함수 설명 정수로 이루어진 숫자 리스트를 생성할 때 사용한다. 숫자 범위는 일정한 규칙의..

ooyoung.tistory.com

for i in range(n - 1, -1, -1):

의 뜻을 몰랐는데, n-1부터 0번까지 1씩 줄이는 것이다.

 

리스트의 num번째 원소를 print할때,

print(zero[num],one[num])

가 아닌

print(zero[num] one[num])

는 불가능하다. 중간에 공백을 주고 싶으면 

 print("%d %d"%(zero[num],one[num]))

로 작성한다

 

파이썬 이차원 리스트 초기화

https://juun42.tistory.com/14

 

[파이썬] 리스트 초기화 (feat.2차원)

파이썬에서 리스트를 다루다 보면 리스트 크기나 값을 초기화시켜야 하는 경우가 생기죠 초기화시키는 세 가지 방법과 이차원에서는 어떻게 하는지 봅시다 첫 번째 방법입니다. #a = [] a = list() f

juun42.tistory.com

c = [[0]*3 for _ in range(5)]
c[1][2] = 1

로 초기화 해야만 한다. 

결과값으로

[

[0, 0, 0],

[0, 0, 1],

[0, 0, 0],

[0, 0, 0],

[0, 0, 0]

] 가 나오는데, 

 

[0]*3이 [0]을 3개 붙여 만들고, range가 줄을 만든다고 생각하자

 

 

n, m = map(int, input().split())
s = []
for i in range(n):
    s.append(list(map(int, input().split())))
dp = [[0] * (m + 1) for i in range(n + 1)]

s=[]

s.append(list(map(int, input().split())))

로 2차원 리스트 입력을 받을수 있다

 

 

n = int(input())
s = [list(map(int, input().split())) for i in range(n)]

로 

4

2 3 3 1

1 2 1 3

1 2 3 1

3 1 1 0

 

입력을 받을수 있다

 

c = list(map(int,input().split()))

print(c)

 

를 하면 정수를 리스트로 여러개 입력받는다

 

https://wook-2124.tistory.com/252

 

백준 알고리즘 | 4673 : 셀프 넘버 (Python / 파이썬)

셀프 넘버 성공출처다국어분류 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 56038 28453 22966 50.972% https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도..

wook-2124.tistory.com

set 함수의 특징과 str함수 이용하기

 

 

Counter함수를 이용해서 원소의 개수 세어주기

from collections import Counter

Counter('hello world') # Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})

간단한 한줄만으로 개수를 셀수있고, 

from collections import Counter

Counter('hello world').most_common(1) # [('l', 3)]

most_common을 이용해 가장 개수가 많은 N개의 데이터를 얻을수도 있다.

https://www.daleseo.com/python-collections-counter/

 

[파이썬] collections 모듈의 Counter 클래스 사용법

Engineering Blog by Dale Seo

www.daleseo.com

2108 다시보기

https://pacific-ocean.tistory.com/138

C.sum이 아니라 sum(C)라는것