Python

    [Algorithm] 파이썬에서 스택(Stack)과 큐(Queue)의 사용

    스택 (Stack) - 선입후출(First-In Last-Out) 구조 또는 후입선출 구조 - 박스 쌓기에 비유할 수 있다 🔥 스택 with Python - 별도의 라이브러리 없이 기본 리스트에서 append(), pop() 메서드를 이용하여 사용 가능하다 stack = [] stack.append(5) stack.append(2) stack.append(3) stack.pop()# 3 stack.append(1) stack.append(4) stack.pop()# 4 print(stack[::-1]) # 최상단 원소부터 출력 # [1, 2, 5] 큐 (Queue) - 선입선출(First-In First-Out) 구조 - 대기 줄에 비유할 수 있는 '공정한' 자료구조라고 할 수 있다 🔥 큐 with Py..

    [Python] 파이썬 리스트 복사 : 시간 초과 해결, 깊은 복사와 얕은 복사, copy, deepcopy, slicing, 2차원 리스트 복사

    백준 풀이를 하다 리스트를 깊은 복사할 때, deepcopy()를 사용한 코드가 slicing을 사용한 코드보다 7배 이상의 시간이 걸린 것을 확인하고 정리해봐야겠다는 생각이 들었습니다! 가뜩이나 느린 파이썬에서 시간이 이렇게 감소한다면 충분히 공부해 볼 가치가 있죠 😤 파이썬 시간을 단축시키는 방법으로는 입출력 시간을 단축시키는 것도 있습니다! 다음 글에 정리해두었습니다 📌 https://codesyun.tistory.com/178 [Python] 파이썬 sys.stdin.readline() 입력 받기 : 시간 초과 해결, 입출력 속도 개선 🤔 input() 대신 sys.stdin.readline() 을 사용하는 이유 한두줄 입력받는 문제들은 input()을 사용해도 괜찮을 수 있지만, 여러줄 또는 반..

    [Python] 파이썬 sys.stdin.readline() 입력 받기 : 시간 초과 해결, 입출력 속도 개선

    🤔 input() 대신 sys.stdin.readline() 을 사용하는 이유 한두줄 입력받는 문제들은 input()을 사용해도 괜찮을 수 있지만, 여러줄 또는 반복문으로 입력 받는 경우에는 input()은 시간초과가 발생할 수 있습니다! 이럴 때, sys.stdin.readline() 을 사용합니다 코드에 깊은 복사를 사용한다면 복사 방법 선택으로도 실행 시간을 단축시킬 수 있습니다! 다음 글에 정리해두었습니다 📌 https://codesyun.tistory.com/198 [Python] 파이썬 리스트 복사 : 시간 초과 해결, 깊은 복사와 얕은 복사, copy, deepcopy, slicing, 2차원 리 더보기 백준 풀이를 하다 리스트를 깊은 복사할 때, deepcopy()를 사용한 코드가 slic..

    [Python] 파이썬 리스트 : 선언, 연산자, 요소 추가, 요소 제거, in / not in

    리스트 (list) - 여러 가지 자료를 모아 사용할 수 있게 해주는 특별한 형태의 자료 - 한 가지 또는 여러 종류의 자료형으로 구성할 수 있다 - 리스트 내부에 넣는 자료를 요소 (element)라고 부른다 - (예) array = [273, 32, 103, "문자열", True, False] print(array) # [273, 32, 103, '문자열', True, False] 리스트 선언 - 대괄호[ ]에 자료를 쉼표로 구분해서 입력한다 - 인덱스는 1부터 시작 [요소, 요소, 요소 ... ] 리스트의 사용 1. (일반적인 사용) 인덱스로 접근 list_a = [273, 32, 103, "문자열", True, False] list_a[0] = "변경" print(list_a) # ['변경', 3..

    [Python] 파이썬 조건문 : if, else, elif 조건문, 조건문 내부를 구현하지 않았을 때

    if 조건문 : 조건에 따라 코드를 실행하거나, 실행하지 않게 만들고 싶을 때 사용하는 구문 - 기본적인 구조 if 불값이 나오는 표현식: 불 값이 참일 때 실행할 문장 불 값이 참일 때 실행할 문장 # 4칸 들여쓰기 - (예) 계절를 구분하는 프로그램 - 날짜 출력 import datetime now = datetime.datetime.now() if 3

    [Python] 파이썬 자료형 (3) : Boolean(불) 자료형, 비교 연산자, 논리 연산자

    Boolean (불린, 불) - True(참)와 False(거짓) 값만 가질 수 있다 - 파이썬에서는 True, False의 첫 글자를 반드시 대문자로 적어야 한다 비교 연산자 연산자 설명 == 같다 != 다르다 = 크거나 같다 - 파이썬에서는 다음과 같은 코드로의 비교도 가능하다 x = 25 print(10 < x < 30) # True print(40 < x < 60) # False 논리 연산자 1. not 연산자 - 단항 연산자 - True와 False가 서로 바뀐다 - True와 False에 직접 적용하기 보다는 비교 연산자의 결과에 not 연산자를 적용한다 x = 10 under_20 = x < 20 print("under_20: ", under_20) print("not under_20: ",..

    [Python] 파이썬 자료형 (2) : 문자열 입력, 문자열 관련 함수

    사용자 입력: input() - 명령 프롬프트에서 사용자로부터 데이터를 입력받을 때 input() 함수를 사용한다 - 가 입력될 때까지 코드 진행을 블록시킨다 - input() 함수는 무엇을 입력해도 결과는 무조건 문자열 자료형 문자열을 숫자로 바꾸기 - 캐스트(cast)라고도 부른다 1. int() 함수 : 문자열을 int 자료형으로 변환 2. float() 함수 : 문자열을 float 자료형으로 변환 숫자를 문자열로 바꾸기 - str() 함수 : 다른 자료형의 값을 문자열로 변환 문자열의 다양한 함수 ▶ 문자열의 format() 함수 - 중괄호{}를 포함한 문자열 뒤에 마침표(.)를 찍고 사용 - 중괄호 개수와 format 함수 괄호 안 매개변수의 수는 반드시 같아야 함 format_a = "{}만 ..

    [Python] 파이썬 자료형 (1) : 기본 자료형, 문자열, 숫자, 연산자

    기본 자료형 1. 문자열 (string) 2. 숫자 (number) 3. 불 (boolean) - 기본 자료형을 조합해서 새로운 자료형을 만들 수 있다 (예) 숫자를 조합해서 '2020.12.9' 처럼 날짜를 표현하는 자료형을 만든다 - 자료의 형식을 확인할 때는 type() 함수를 사용 문자열 (string) - 문자열 : 글자들이 나열된 것 - 문자들을 큰따옴표(") 또는 작은따옴표(')로 감싸서 만든다 > 문자열 내부에 따옴표 넣기 따옴표로 감싸서 문자열을 만든다면, 따옴표는 문자열로 사용할 수 없나요? Nope! 1. 작은따옴표로 만든 문자열에 큰따옴표 넣기 / 큰따옴표로 만든 문자열에 작은따옴표 넣기 print(""안녕하세요"라고 말했습니다") // Syntax Error 발생 print("'안..

    [Python] 프로그래밍 언어, 파이썬

    파이썬(Python)이란? 1992년 프로그래머 귀도 반 로섬이 발표한 프로그래밍 언어이다! 문법이 매우 쉬워서 처음 프로그래밍을 배우는 초보자들에게 추천되는 언어입니다 😇 파이썬의 특징 ▶ 대화 기능의 인터프리터 언어 파이썬은 객체지향을 강력하게 지원하는 대화형 인터프리터 언어이다 ※ 인터프리터 언어 : 프로그래밍 언어의 소스코드를 바로 실행 ( ↔ 컴파일러 : 원시 코드를 기계어로 번역 ) ▶ 동적으로 데이터 타입 결정 데이터 타입을 지정할 필요가 있는 다른 언어와 달리, 파이썬은 동적으로 데이터 타입을 결정한다 ▶ 플랫폼 독립적 언어 리눅스, 유닉스, 윈도우 등 대부분의 운영체제에서 동작한다 자바와 같이 바이트 코드를 생성한다! ▶ 개발 기간 단축에 최적인 언어 실행 속도 측면에서의 이점으로 효율적..

    [Python] VS Code에서 Code Runner로 Python 빌드 및 실행하기, 한글 깨짐 해결

    Visual Studio Code에서는 파이참과 같은 IDE와 달리 단순하게 빌드와 실행을 하기 어렵습니다 따라서 Code runner (코드 러너) 라는 확장 프로그램을 통해 편하게 실행할 수 있습니다! Code Runner가 지원하는 언어는 다음과 같습니다 C, C++, Java, JavaScript, PHP, Python, Perl, Perl 6, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, F# (.NET Core), C# Script, C# (.NET Core), VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScri..