[파이썬] 파이썬에서 스택 & 큐 구현하기
·
Python
1. 스택스택이란?스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸쉬(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼내지는 자료는 가장 최근에 푸쉬한 자료부터 나오게 된다. 이처럼 나중에 넣은 값이 먼저 나오는 것을 LIFO 구조라고 한다. 반대로 FILO(First In Last Out)라고 하기도 한다. 파이썬으로 구현append() 메소드와 pop()메소드만 사용할 수 있으면 간단히 리스트로도 구현할 수 있다. 아래의 예시를 보자 stack = []stack.append(1)stack.append(2)stack.append(3)stack.app..
[파이썬] 내가 보려고 만든 문자열 함수 2
·
Python
1. rjust()원하는 문자를 왼쪽부터 채워 본래 값을 오른쪽으로 정렬해서 반환해준다.arr = ['101', '0011', '11111']print(arr[0].rjust(5, "0"))print(arr[1].rjust(7, "0"))print(arr[2].rjust(5, "0")) -결과값>> 00101>> 0000011>> 11111 2. ljust()원하는 문자를 오른쪽부터 채워 본래 값을 왼쪽으로 정렬해서 반환해준다.arr = ['101', '0011', '11111']print(arr[0].ljust(5, "0"))print(arr[1].ljust(7, "0"))print(arr[2].ljust(5, "0")) -결과값>> 10100>> 0011000>> 11111 3. zfil..
[파이썬] itertools 사용하는 법 - 경우의 수
·
Python
1. 경우의 수permutations() - 순열순열은 순서를 고려해서 뽑는 경우의 수다.nPr 로 쓰이는데 이를 풀어서 말하면 n개 중 순서를 고려하여 r개를 뽑는 것을 말한다. -예시num = [2,1,3,4,1]result = list(itertools.permutations(num, 2)) - 결과값>> [(2, 1), (2, 3), (2, 4), (2, 1), (1, 2), (1, 3), (1, 4), (1, 1), (3, 2), (3, 1), (3, 4), (3, 1), (4, 2), (4, 1), (4, 3), (4, 1), (1, 2), (1, 1), (1, 3), (1, 4)]1이 2개 있기때문에 중복된 결과가 나온다. combinations() - 조합조합이라고 하면 nCr ..
[파이썬] 람다식 쓰는법
·
Python
1. 람다식에 대한 기본적인 이해람다식을 통해 익명함수를 만드는 법에 대해서 알아보자.람다식은 함수 표현을 간단하게 만들어줄 수 있다. 한 줄 짜리 함수에 많이 사용되는 편이다. 일단 일반 함수와 비교하기 위해 예시를 들도록 하겠다.def square(x): return x * x print(square(4))>> 16정사각형의 넓이를 구하는 square다. 이를 아래와 같은 람다식으로 표현할 수 있다.print((lambda x : x*x)(4))>> 16람다식을 재할당하고 싶으면 따로 저장할 수도 있다.square = (lambda x : x*x)print(square(4))>> 16 또한, 한 줄(one-line) 조건문을 사용하여 람다식을 표현하는 것도 가능하다.아래의 예시를 확인해보자.p..
[파이썬] 내가 보려고 만든 문자열 함수
·
Python
1. lower() upper()mystr = "Hello World"lowercase =mystr.lower()print(lowercase)uppercase = mystr.upper()print(uppercase)-출력값> hello world> HELLO WORLD가끔 소문자, 대문자로 출력하라는 문제가 나온다.대소문자 구분없이 비교하려면 소문자나 대문자로 통일한 후 비교해야하는 경우가 많다. 2. strip(), lstrip(), rstrip()myStr1 = ".hello."myStr1 = myStr1.strip(".")print(myStr1)-출력값> hellostrip()은 인자로 전달된 문자를 왼쪽 오른쪽에서 제거양쪽에 있는 "." 이 하나씩 없어짐 myStr2 = ".hello."my..
[파이썬] 내가 보려고 만든 파이썬 팁
·
Python
알고리즘을 풀기 위한 꿀팁 모음!! 1. 일렬로 배열 출력print("".join(배열))배열을 문자열 형식으로 일렬로 출력 2. 문자열 확인if '3' in str(i) + str(j) + str(k): count += 1위 코드는 i, j, k를 문자열화 시켜서 하나로 합친 뒤, 그 안에 '3'이 하나라도 있으면 count에 1을 더하는 것이다. 3. int형 입력 여러개 받기data = list(map(int, input().split()))리스트 형식으로 받기n, m = map(int, input().split())다른 변수에 각각 받기n = int(input())array = [0] * 10_000for i in range(n): array[i] = int(input())백준에서..