Skip to content

📗 Python implementations of algorithms and data structures.

Notifications You must be signed in to change notification settings

Sun4-me/Py-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Py-Algorithms

📗 Python implementations of algorithms and data structures.


Algorithm Theory


Baekjoon

Solved.ac Profile

목표

  • 매일 최소 두 문제 이상 풀기

  • 도저히 방법을 모를 때 까지 스스로 풀기

  • 맞춘 문제도 간소화, 다른 풀이 방법 고민하기

  • 2023년 티어 플레티넘 달성

  • ✔️ 8월까지 티어 골드 달성


💡 Tips for Debugging and Error Handling

시간 초과 / 입출력 속도 개선하기

  • input()

    word = input(" 단어 입력 : ")

    Promt message를 파라미터로 받으며, 개행문자(enter)가 입력 되면 버퍼의 입력이 종료 되는 것으로 간주

  • sys.stdin.readline()

    word = sys.stdin.readline()

    Promt message를 파라미터로 받지 않으며, 개행문자를 포함하여 한번에 읽어와 버퍼에 보관함( 사용자 요구시 읽어올 수 있음 )

Baekjoon 에서는 입력값에 promt message가 필요가 없다. 따라서 시간 초과 오류가 났을때 sys입력방식으로 바꾸면 정답으로 바뀔 가능성이 높다.

import sys
tmp = sys.stdin.readline()

공부하기 좋은 코드


메모리 초과

  • List Comprehension 사용하기
## for loop
## for문 속에서 append를 사용하게 되면 메모리 재할당이 이루어져서 메모리를 효율적으로 사용못한다.
num_list = []
for i in range(10000):
	num_list.append(i)
    
## List comprehension
num_list = [i for i in range(10000)]

입력값이 극한으로 주어질 때는 메모리를 효율적으로 관리해주기 위해 num_list = [0] * 10001 처럼 리스트를 미리 만들어두거나, List comprehension을 사용하면 메모리 초과 오류를 해결할 가능성이 높다.

공부하기 좋은 코드

About

📗 Python implementations of algorithms and data structures.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages