코딩테스트 파이썬(Python) 시작 전 알아야 할 문법
제로코딩
·2022. 7. 7. 10:47
✋ 코딩테스트 파이썬(Python) 시작 전 알아야 할 문법
코딩테스트는 객체 지향적으로 짤 필요도 없고, 직접 자료구조를 구현할 필요가 없습니다.
오직 주어진 시간 내 시간, 공간 복잡도를 계산하여 코드를 짜야합니다.
⚡️ 파이썬 많이 쓰이는 문법 (입출력)
a, b = map(int, input().split()) (ex, 10 20)
파이썬의 경우 다른 언어와 다르게 숫자 범위처리에 신경쓰지 않고 연산이 가능합니다.
*빠른 입출력하기
from sys import stdin, stdout
input = stdin.readline
print = stdout.write
해당 코드를 맨 위에 작성한 후 출력이 필요할 경우 print()를 쓰면 됩니다.
*배열 출력하기
arr = [1,2,3,4]를 공백없이 1234로 출력을 원하는 경우
print(””.join(map(str, arr)))
map함수를 통해 arr를 string형식으로 변환하고, “”.join을 통해 공백없이 값을 붙여서 출력합니다.
📌 배열 내 최대, 최소값 구하기
import sys ans = sys.maxsize for num in arr: if ans > num: ans = num print(ans)
📌 문자열 거꾸로 바꾸기
ans = “test” ans[::-1]
활용법) 팰린드롬(앞, 뒤로 읽어도 같은 문자열) 확인 문제
inputStr = input()
if inputStr == inputStr[::-1]:
print(1)
else:
print(0)
📌 문자열을 아스키코드로 혹은 그 반대로
ord() → 문자를 아스키코드로 바꾸는 함수
chr() → 아스키코드를 문자로 바꾸는 함수
📌 배열 초기화하기 (가로 N, 세로 M)
N, M = map(int, input().split()) arr = [[0] * N for _ in range(M)]
보통 _값을 넣는 이유는 해당 값을 이용하지 않기 때문에 “_”를 넣습니다.
📌 순열, 조합
1부터 N까지 자연수 중 중복 없이 M개를 고르기
from itertools import combinations from itertolls import permutations N, M = map(int, input().split()) arr = [str(i+1) for i in range(N)] #### 조합의 경우 for i in list(combinations(arr, M): print(” “.join(i)) #### 순열의 경우 for i in list(permutations(arr, M): print(” “.join(i))
순열은 순서가 있는 조합
조합은 순서를 생각하지 않고 선택만 하는 조합
📌 deque(double-ended queue)
선입선출인 FIFO와 더불어 나중에 온 값을 먼저 처리하는 LIFO도 가능합니다. 양방향에서 데이터를 처리하는 queue입니다.
from collections import deque deq = deque([i for i in range(1,5)]) print(deq) ##→ [1,2,3,4] deq.appendleft(10) print(deq) ##→ [10,1,2,3,4] deq.append(-10) print(deq) ##→ [10,1,2,3,4,-10]
📌 실행시간 구하기
import time start_time = int(round(time.time()*1000)) function() end_time = int(round(time.time()*1000)) print(’실행 시간: %d(ms)’ % (end_time - start_time))
'코딩테스트 > Python' 카테고리의 다른 글
[파이썬/Python] 백준 알고리즘 및 풀이 1977번 완전제곱수 (0) | 2022.08.09 |
---|---|
[파이썬/Python] 2935번 소음 백준 알고리즘 및 풀이 (0) | 2022.08.09 |
[파이썬/Python] 코딩 테스트 첫 대비 백준 추천 문제 및 풀이 3 (0) | 2022.07.08 |
[파이썬/Python] 코딩 테스트 첫 대비 백준 추천 문제 및 풀이 2 (0) | 2022.07.08 |
[파이썬/Python] 코딩 테스트 첫 대비 백준 추천 문제 및 풀이 1 (0) | 2022.07.08 |