본문 바로가기

파이썬

(11)
[TIL] #5. sys.stdin.readline() 입력을 받는 방법 알고리즘 문제를 풀다 보면 문제에서 주어진 입력을 받아 처리해야 하는 경우가 많다. Python의 경우 입력을 받을 수 있는 방법이 대표적으로 2가지가 있는데 input() 과 sys.stdin.readline() 이 그것이다. 보통 처음에 Python을 배울 때는 아마 대부분 input() 을 사용했을 것이다. 나도 이 글을 쓰기 전 까지는 그랬다. 그런데, input() 을 통해 입력받는 것이 속도가 느리다는 사실을 알게 되었고 알고리즘 문제를 풀 때 어떤 문제에서는 시간초과 이슈를 발생시키기도 한다는 사실을 알았다. 따라서, 이글에서는 input() 대신에 사용할 수 있는 sys.stdin.readline() 에 대해서 알아보고 둘 사이에 어떤 차이점이 있는지, 언제 어떤걸 쓰면 ..
[TIL] #4. sorted()와 sort() sorted()와 sort() Python에서 데이터를 정렬할 때 무엇을 써야할까? sort() sorted() 먼저 sort() 는 list() 의 메서드 중 하나이고 sorted() 는 Python의 Built-in Function이다. 위 두가지를 사용하여 데이터를 정렬했을 때 어떤 차이가 있는지 알아보자. 정렬하기 1. sort() >>> a = [5, 2, 7, 4, 1] >>> print(a.sort()) None >>> print(a) [1, 2, 4, 5, 7] sort() 로 리스트를 정렬하여 출력하면 리턴값은 None이다. 즉, sort() 는 정렬한 결과를 새로운 값으로 리턴하지 않고 in-place로 작동하여 원래 리스트의 값을 정렬한 상태로 바꿔놓기만 하는 것이다. 2. sorte..
[TIL] #3. List Comprehension List Comprehesion 이란 ? List Comprehension은 '리스트 내포'(?)로 번역(점프 투 파이썬에서 저렇게 번역함)할 수 있으며 리스트 객체를 생성하는 방법 중 하나이다. 리스트 안에 반복문과 조건문을 넣음으로써 코드를 직관적으로 보이게 하는 기법이다. 사실 Python에서 List라는 자료구조는 굉장히 사기적인(?) 자료형이라고 생각하는데 이런 자료형을 잘 다루는 것처럼 보이게 하는 좋은 방법인것 같다.🥴 2개 이상의 반복문을 사용하는 것도 가능하지만, 코드가 복잡해지고 직관적이지 못하기 때문에 최대 2개까지만 쓰는 것이 좋다고 한다. 문법은 다음과 같다. [표현식 for 항목 in 반복 가능 객체 if 조건]if는 조건이 필요한 경우에만 사용하면 된다. 사용하기..