본문 바로가기

728x90
반응형

프로그래밍

[Python] 7. 모듈(Module) [목차] 1. 모듈이란? 2. 모듈 만들기 & 불러오기 3. if __name__ == "__main__" 1. 모듈(Module)이란? 모듈(Module)이란, 함수나 변수 또는 클래스를 모아놓은 파이썬 파일이다. 이미 파이썬에서 아주 많은 표준 라이브러리 모듈을 제공하고 있고, 사용자가 직접 모듈을 만들어서 이용할 수도 있다. 여러 파일에서 동일한 클래스나 함수 등이 이용되는 경우에, 공통되는 부분을 따로 빼내어 하나의 파일로 만들어두면 매번 새로 정의할 필요 없이 가져오기만 하면 되므로 코드도 짧아지고 훨씬 편리하다. 2. 모듈 만들기 & 불러오기 이제 모듈을 어떻게 만들고 불러오는지를 알아보자. # file name : calculate.py def add(a, b): return a+b def ..
[Python] 5. 함수 (1) - 함수의 구조 [목차] 1. 함수(Function)란? 2. 함수(Function)의 형태 1. 함수(Function)란? 코드를 작성하다보면 들어가는 값만 달라질 뿐 같은 작업을 여러번 반복해야할 때가 있다. 그런 코드를 반복해서 작성하면 매우 비효율적이다. 이런 경우에 임의의 값에 대해서 동일하게 작동하는 틀을 미리 만들어놓고, 필요할 때마다 값을 넣어서 결과값을 구할 수 있도록 하는 기능을 '함수'라고 한다. 어떠한 타입의 값이 들어오더라도 항상 동일하게 입/출력을 수행해주는 작업을 하는 print, input 등도 모두 파이썬에서 미리 만들어진 함수이다. 1. 함수의 장점 코드의 용도를 구분할 수 있다. 코드를 여러번 재사용할 수 있다. 코드의 길이가 짧아진다. 오류 발생 위치를 빠르게 찾을 수 있다. 2. 함..
[Codeforces] Round #709 (div. 2) A ~ D 풀이 2021.03.21 22:20 ~ 00:35 본 라운드 참여 (performance = 1844) 테크노컵은 뭔가 항상 어려운 느낌이다... 생각보다 퍼포먼스가 나쁘지 않게는 나왔는데, 개인적으로 요즘 코포 폼이 조금 올라왔다고 생각해서 더 아쉬운 기분이 든다. A. Prison Break (*800) 모든 칸들에서 밖으로 나갈 수 있기 위해서 제거해야 하는 벽의 수의 최소를 구하는 문제이다. 답은 가로 * 세로, 즉 칸의 개수이고 대회중에는 직관적으로 빠르게 해결했다. 정확한지는 모르겠으나 증명을 하자면, 각 칸마다 해당 칸에서 시작해서 밖으로 나갈 수 있는지 없는지를 상태로 표현하고, 벽이 제거된 이웃한 칸은 하나의 칸으로 합쳐진다고 생각하자. 벽을 하나 제거했을 때 밖으로 나갈 수 없었던 2개 이상..
[Python] 2. 파이썬의 기본 자료형(4) - 딕셔너리(Dictionary) & 집합(Set) [목차] 1. 딕셔너리(Dictionary) 만들기 2. 딕셔너리 사용하기 3. 집합(Set) 만들기 4. 집합 사용하기 1. 딕셔너리(Dictionary) 만들기 먼저 딕셔너리(Dictionary)란 각각의 키(key) 값마다 하나의 값이 대응된 쌍들을 모아놓은 자료형이다. 의미 그대로 사전에서 어떤 단어의 뜻을 찾기 위해서 해당 단어만 찾으면 되듯이 특정 값을 찾기 위해서는 대응된 key값으로 바로 찾을 수 있다는 장점이 있다. 리스트는 대괄호, 튜플은 소괄호를 이용했다면 딕셔너리는 중괄호 '{ }' 를 이용해서 생성한다. 다음은 기본적인 딕셔너리의 형태이다. {key1: value1, key2: value2, key3: value3 ...} 이처럼 key값과 value값을 콜론(:)으로 묶어서 저장..
[Python] 2. 파이썬의 기본 자료형(2) - 문자열(String) 파이썬에서 문자열을 다루는 방법은 정말 다양하다. 특히 C/C++을 먼저 학습한 사람이라면 더 쉽고 다양한 방식이 많다는 것을 체감할 것이다. [목차] 1. 문자열 만들기 2. 문자열 연산하기 3. 문자열 인덱싱 4. 문자열 슬라이싱 5. 문자열 포매팅 6. 문자열 관련 함수 1. 문자열 만들기 문자열은 ' ' (작은따옴표), " " (큰따옴표), ''' ''' (작은따옴표 3개), """ """ (큰따옴표 3개) 이들을 이용하여 하나의 문자열로 묶을 수 있다. 이렇게 다양한 방법을 제공하는 이유는, 문자열 내에 따옴표가 포함될 수도 있기 때문이다. 예를 들어서 I'm Python을 만들고 싶다면, 문자열 안에 작은따옴표가 있기 때문에 해당 문자열을 작은따옴표로 묶게 되면, 'I'm Python'이 되어..
[Python] 2. 파이썬의 기본 자료형(1) - 숫자 자료형 파이썬에서 기본적으로 제공하는 숫자 자료형으로는 정수, 실수, 복소수, 8/16진수 등이 있다. 1. 정수형 정수형은 말 그대로 정수를 뜻하는 자료형이다. a = 13 a = -1 a = 0 이런 식으로, 우리가 흔히 아는 정수를 그대로 이용해주면 된다. 2. 실수형 실수형은 파이썬에서 소수점이 포함된 숫자를 말한다. 또, 컴퓨터에서 사용하는 지수 표현 방식대로도 표현할 수 있다. a = 2.4 a = -1.5 a = 1.2E10 a = 4.5e-10 위의 두 줄은 일반적으로 사용하는 실수의 소수점 표현 방식이다. 밑의 두 줄은 컴퓨터에서 사용하는 지수 표현 방식인데, E10은 $10^{10}$을 의미한다. 따라서, 1.2E10은 $1.2 × 10^{10}$을 의미하는 것이다. E와 e 둘 중 어느 것을..
[Python] 1. 파이썬 기본 문법 파이썬 스타일 가이드는 아래 공식 사이트를 참고하면 좋다. www.python.org/dev/peps/pep-0008/ PEP 8 -- Style Guide for Python Code The official home of the Python Programming Language www.python.org 1. 들여쓰기와 공백 프로그래밍 언어에서 코드의 블럭은 하나의 단위로 취급되는 문장들을 의미한다. C언어를 알고 있다면, C언어에서의 중괄호 { } 안에 들어있는 문장들이 하나의 블럭을 의미하는 것이다. 파이썬에서는 이 역할을 '들여쓰기'가 대신한다. for(int i = 1; i
2020 CPC (중앙대 프로그래밍 경진대회) Open contest 후기 및 풀이 2020 중앙대학교 프로그래밍 경진대회 (CPC) open contest에 참여했다. 본 대회랑 동시에 진행되었는데, 중간에 백준 사이트가 한 시간 정도 터져서 대회 주최자분들이 매우 안타까웠다.... 대회의 초반 절반정도는 거의 다 구현 문제였다. 그런데 생각보다 구현하기가 까다로워서 스코어보드 상에서도 많은 WA를 볼 수 있었다. 나도 제대로 말려버렸다 ㅠ [대회 문제] : www.acmicpc.net/category/detail/2345 [스코어보드] [풀이] (20.11.24 기준 난이도) A. 교수님 그림이 깨지는데요? (Bronze 1) - 문제에서 시키는대로 하면 된다. 가로로 K배, 세로로 K배의 개수만큼 출력해주면 된다. #include using namespace std; int A[1..