[SWEA] Python 정리

syeony·2024년 11월 14일
0

python

목록 보기
14/20
post-thumbnail

싸피 코테 전 정리해보았다.

현재 진행상황

D1

  • upper() = 대문자변환
  • lower() = 소문자변환
  • isupper(): 대문자 확인
  • islower(): 소문자 확인
  • ord(): 아스키코드
ord('a') # 97
  • chr(): 아스키코드
chr(97) # 'a'
  • 각 자릿수 덧셈
sum(map(int, str(10))) # 55
  • 평균, 중간값, 최빈값
import statistics

statistics.mean(arr) # 평균
statistics.median(arr) # 중간값
statistics.mode(arr) # 최빈값
  • 올림, 내림, 반올림
import math

math.ceil(3.14) # 올림
math.floor(3.14) # 내림
round(3.14) # 반올림

D2

  • replace함수
hi = 'hi'.replace('h','0')
print(hi) # 0i
  • join함수
arr1 = ['h','i']
arr2 = [0,1]

"".join(arr1)
"".join(map(str,arr2)) # 숫자배열을 join할때는 문자열로 변경
  • 이차원배열 90도 회전
arr = [[1,2,3],[4,5,6],[7,8,9]]
list(zip(*arr[::-1]))
  • 이차원배열 행과 열 바꾸기
arr = [[1,2,3],[4,5,6],[7,8,9]]
list(zip(*arr))
  • 오름차순/내림차순 정렬
score = [30,10,40]
score.sort() # 오름차순 10,30,40
score.sort(reverse=True) # 내림차순 40,30,10
  • 계산 동시에 가능
mi, ma = mi + ma, max(mi, ma)

D3

  • 이차원 정수 배열 입력
arr = [list(map(int, input().split())) for _ in range(100)] # 띄워쓰기
arr = [list(map(int, input().strip())) for _ in range(100)] # 붙어있는거

N = int(input())
arr=[]
while len(arr) < N:
    # 공백 또는 줄바꿈으로 입력된 숫자를 추가
    arr.extend(map(int, input().split()))
  • 백트래킹 (2806 체스)
  • DFS (2817 부분수열의합 / 5212 햄버거)
  • DP (3282 knapsack / 3307 최장증가 / 5642 합)

D4

  • 숫자 확인
num = '123'
str = 'hi'
num.isdigit() # True
str.isdigit() # False
  • 전위/중위/후위 순회
def 전위(n):
    global word
    if n<=N: # word의 위치에 따라 전위, 중위, 후위
        word += arr[n-1][1]
        inorder(n*2)
        inorder(n*2+1)
        
def 중위(n):
    global word
    if n<=N: # word의 위치에 따라 전위, 중위, 후위
        inorder(n*2)
        word += arr[n-1][1]
        inorder(n*2+1)
        
def 후위(n):
    global word
    if n<=N: # word의 위치에 따라 전위, 중위, 후위
        inorder(n*2)
        inorder(n*2+1)
        word += arr[n-1][1]
  • BFS(1226 미로)
  • BFS(1249 보급로)
profile
모바일 어플리케이션, cross platform과 iOS에 관심이 많은 개발자 오승연입니다

0개의 댓글