본문 바로가기

프로그래밍 언어/python

stack 1. list 사용하기 stack = [] stack.append() stack.pop() stack[-1] #stack.top() len(stack) #stack.size() 2. deque 사용하기 from collections import deque dq=deque() dq.append() dp.pop() dp.clear() dp.copy() dq.popleft() # 가장 왼쪽 원소 반환 dq.appendleft() # 덱의 가장 왼쪽에 원소 삽입 dp.count(x) #x와 같은 원소의 개수를 계산 더보기
입/출력 1. 입력 1) 빠르게 입력받기 - 데이터 개수가 1000만개 이상, 탐색 범위 크기가 1000억 이상이면 sys 라이브러리로 입력을 빠르게 받기 - import sys input_data = sys.stdin.readline().rstrip() 2. 출력 1) sep과 end 조건 - sep : print문의 출력문들 사이 값들 정의 ( default = "") ex) print("I","Like","쿼카",seq = ",") ==> I,Like,쿼카 - end : print문으로 출력 완료 후의 값 정의 (default = \n) ex) print(array,end = "!") ==> [1,2,3]! 2) format - 특정 서식에 따라 문자를 출력 - print( "{0}월 {1}일 입니다.".f.. 더보기
정렬 0.정렬 - 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 - 삽입 정렬, 퀵 정렬, 계수 정렬 1. 선택 정렬 - 가장 작은 데이터를 선택해서 맨 앞에 있는 데이터와 바꾸고, 그 다음 작은 데이터를 앞에서 두번째 데이터와 바꾸는 과정을 반복하는 정렬 - 최악의 경우 : 데이터가 내림차순으로 있는 경우 - 시간 복잡도 : N + (N-1) + (N-2) + ...+ 1 = N *(N+1) / 2 = O(N^2). #선택 정렬 array = [7,5,9,0 ,3,1,6,2,4,8] for i in range( len(array) ): min_index = i #가장 작은 원소의 인덱스 for j in range(i_1, len(array)): if array[min_index] > array[j]: .. 더보기
수학 1. 순열 / 조합 1) 순열 : permutations(배열 이름, r) - from itertools import permutations - 배열의 원소 중 2개 뽑아서 출력하기 : for i in permutations(배열 이름, 2): print(i) - 배열의 원소 중 2개 뽑아서 리스트 만들기 : list( map(''.join, permutations(배열이름,2) ) 2) 중복 순열 : product(배열 이름, repeat= r) - from itertools import product - 배열의 원소 중 2개 뽑아서 출력하기 : for i in product(배열 이름, repeat = 2): print(i) - 배열의 원소 중 2개 뽑아서 리스트 만들기 : list( map(''.j.. 더보기
python 에러 모음 하도 별의별 에러를 만들길래 이참에 모아보는 에러들.. 1. SyntaxError: invalid syntax - 원인: 파이썬에선 사용하지 않는 문법 사용함 - 해결법: 오류난 문법 위치를 찾아 수정 - 내 경우 에러났던 원인들 * if문에서 : 빼먹음 * 오류난 바로 앞부분에서 () 개수 잘못 맞춤 2. ValueError: not enough values to unpack (expected 2, got 1) - 원인 : 패킹된 변수의 수와 언패킹할 변수의 수가 같지않을 때 발생 * 패킹 : 변수하나에 여러개의 값을 담는 것 * 언패킹 : 패킹된 변수안의 값을 여러개의 변수로 나누는 것 - 해결법: 변수와 값의 개수를 동일하게 맞춰줘야 함 - 내 경우 에러났던 원인들: 입력으로 받는 input이 띄어.. 더보기
python 기초 - 구현 1. python 기초 문법 (c++과 다른 점 ) - 리스트 길이 : len(array) - && || 대신 and or사용 - else if 대신 elif사용 - 형 변환 #기본 변환 정수 변환 - int() 실수 변환 - float() 문자열 변환 - str() 문자 변환 - chr() 불리언 변환 - bool() #기타 변환 char -> int : ord() 2. 구현 예 - 좌표 이동 #매개변수 입력받기 N = int(input()) x,y = 1, 1 #이런 식으로 각각 좌표값 입력 array = input().split() #북, 동, 남, 서 dx = [0,1,0,-1] dy = [-1,0,1,0] move_types = ['L', 'R', 'U', 'D'] #이동 for x in pla.. 더보기
python 기초 - 배열1 1. 2차원 배열 1. 선언 및 초기화 array = [[0 for in range(가로길이,열)] for in range(세로길이,행)] array = [[0]*(가로길이) for _ in range(세로길이)] 2. 입력받기 #한 줄 단위로 받기 array = [] for i in range(세로길이): array.append(list(map(int, input().split()))) #한 값씩 받기 array = [0 for _ in range(세로길이)] for i in range(세로길이): array[i] = list(map(int, input().split())) #선언과 동시에 입력받기 array = [list(map(int, input().split())) for _ in range(세로.. 더보기
중복 제거 1. SET - 중복을 허용하지 않으며, set 내부 값들은 순서가 존재하지 않음 - 리스트 자료형을 SET으로 타입 변경 후 다시 LIST로 감싸줌 - list(set(array)) - set 타입은 print시 중괄호 {}, 리스트는 print시 대괄호 [] 2. for 반복문 array = [6,5,6,1,3,6,4,5,2] result = [] for i in array: if value not in result: result.append(value) print(result) 3.dictionary(3.7 이상 가능 자료구조) - 중복이 불가능한 자료구조 - key,value의 쌍으로 하나의 데이터를 이루는데, key값이 중복 불가함 - dict.fromkeys( array ) : 인자로 들어온 .. 더보기