TIL - 20.12.14 (백준 문제풀이)

예니·2020년 12월 15일
0

TIL

목록 보기
18/25

- 입력 빠르게 받기

import sys
sys.stdin.readline().rstrip()

readline 은 마지막 엔터키까지 입력 받으므로 rstrip() 메소드 붙여줘야함


- 순열, 조합 사용하기

from itertools import permutations -> 순열
from itertools import combinations -> 조합


- 람다 표현식

함수를 간단하게 작성할 수 있음
예를 들어, 덧셈을 수행하는 함수를 만들려면

def sum(a, b):
	return a+b

위와 같이 작성해야하지만, 람다 표현식을 사용하면
lambda a,b : a+b
위와 같이 한 줄로 간단하게 작성 가능


- 정렬

파이썬 내장함수 sort 는 시간복잡도 O(N*logN)
1. 선택정렬
가장 작은 원소부터 선택해 알맞은 위치로 옮기는 작업을 반복하며 정렬하는 알고리즘
시간복잡도 : O(n^2)

2. 삽입정렬
선택한 원소보다 더 앞쪽에서 알맞은 위치로 삽입하며 정렬하는 알고리즘
시간복잡도 : O(n^2)

3. 버블정렬
두 원소 대소관계 비교하여 교환을 반복하며 정렬하는 알고리즘
시간복잡도 : O(n^2)

4. 계수정렬(Counting sort)
숫자 최댓값 크기만큼 0이 담긴 배열을 만들고, 숫자가 등장하는 횟수를 저장하여 그 횟수만큼 숫자를 출력함. 비교, 정렬 과정이 없어 빠름


- 여러 줄로 출력 시, for문 안돌리고 하는 방법

리스트에 있는 요소를 한 줄씩 출력하고 싶을 때, for문 이용하는 것보다 join 이용하는 것이 빠름

arr = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
print(‘\n’.join(arr))

1. 문자열재정렬

알파벳, 숫자가 섞인 문자열을 입력 받았을 때, isalpha(), isdigit() 메소드로 알파벳인지 문자열인지 확인 가능


2. 일곱 난쟁이

튜플을 리스트로 바꿔줄 때
a = (1,2,3,4,5)
list(a)
해주면 a=[1,2,3,4,5] 된다.


3. N-Queen

책대로 하면 시간초과 뜨고.. 백트래킹으로 해봐야지 다시...!

0개의 댓글

관련 채용 정보