본문 바로가기

반응형

컴퓨터 관련

(37)
[파이썬] 4. 인덱싱과 슬라이스 1. 인덱싱 인덱싱: 원소를 추출 1.1. 인덱싱의 기본형 Variable = Name of List/Tuple/range/String[index] # Variable: 인덱싱으로 뽑아온 값을 저장하기 위한 변수 # Name of List/Tuple/range/String: 시퀸스 객체의 변수 이름 # index: 시퀸스 객체의 특정한 위치를 지정 1.2. 리스트 인덱싱 a = [1,2,3,4,5] print(a[0]) # 양수 인덱스는 0부터 시작 print(a[-1]) # 음수 인덱스는 -1부터 시작 print(a[0] + a[2]) # 인덱스를 이용해 값을 가져울 수 있음 중첩 리스트 인덱싱 a = [1,2,3,['1','2','3']] print(a) p..
[파이썬] 3. 시퀸스 자료형 1. 시퀸스 자료형이란? 같은 자료형의 값이 여러개 저장되는 자료형 다른 비슷한 속성을 가지나, 쓰임과 종류에 따라 "리스트","튜플","range","문자열"로 나뉨 1.1. 시퀸스 자료형의 특징 특정 값의 유무 확인하기a = [1,3,4] print(10 in a) #리스트에 해당 값이 있는지 확인하기 print(10 not in a) # 리스트에 해당 값이 없는지 확인하기 2. 리스트 2.1. 리스트란? 리스트의 구조는 연결리스트의 구조이다. 리스트는 배열과 달리 길이의 제한이 없다. 리스트는 원소의 편집이 자유롭다. 리스트는 서로 다른 타입도 대입이 가능하다. 또한, 리스트를 이용해 반복문을 실행할 수 있음 a = [1,2,3,4,5,6] result = 0 for num in a: result ..
[파이썬] 2. 입력과 출력 정리 1. 파이썬 입력하기 1.1. input() 기본형 Variable = input("Message") # Variable: 입력받은 값을 저장할 변수 # Message: 사용자로부터 값을 입력받을 때, 출력할 메시지 a = input("What is your name?") print(a) 1.2. 정수/실수 입력받기 input()은 문자열로 입력을 받음. 원하는 자료형으로 저장하기 위해서는 형변환이 필요함. a = int(input("How old are you?")) a = float(input("How old are you?")) print(a) 1.3. 두 개 이상의 문자열을 입력 받기 기본형 Variable1, Variable2 = input("Message").split("str") # Vari..
[파이썬] 1. 파이썬 변수와 연산자 정리 1. 파이썬의 개요 1.1. 한 줄에 여러가지 구문 처리 print("Hello"); print("Hello") 1.2. 파이썬의 들여쓰기가 구문을 결정 들여쓰기는 스페이스바를 4번 누르거나, 텍스트 편집기를 통해 자동으로 된다. if(x b gt(a, b) 3.4. 논리 연산자 논리 연산자: 두 개 이상의 조건을 물어볼 때 사용. 순서가 헷갈릴 때는 괄호로 구분해줘야 한다. 이름 설명 문법 함수 비트별 논리곱(Bitwise And) 양쪽이 모두 True일 때만 True a & b and_(a, b) 비트별 논리합(Bitwise Or) 어느 한 쪽이 True이면 True a | b or_(a, b) 비트별 반전(Bitwise Inversion) 원래 있는 조건이 반전이 됨 (True False) ~ a ..
[알고리즘] 백준 3009번 문제 풀이 1. 문제 보기 해당 문제는 문제 링크를 통해 보실 수 있습니다. 2. 풀이 코드 #include int main(void) { int coordinate[3][2]; int x, y; //나머지 좌표값 입력 if (scanf("%d %d", &coordinate[0][0], &coordinate[0][1]) == NULL) return 0; if (scanf("%d %d", &coordinate[1][0], &coordinate[1][1]) == NULL) return 0; if (scanf("%d %d", &coordinate[2][0], &coordinate[2][1]) == NULL) return 0; //X 좌표 찾기 if (coordinate[0][0] == coordinate[1][0]) x..
[알고리즘] 백준 1712번 문제 풀이 1. 문제 보기 해당 문제는 문제 링크를 통해 보실 수 있습니다. 2. 풀이 코드 #include int main(void) { int year_cost = 0; int produce_cost = 0; int product_cost = 0; int break_even_point = 0; if (scanf("%d %d %d", &year_cost, &produce_cost, &product_cost) == NULL) { return 0; } // 값을 나누기 전에, 값이 0이라면 -1을 출력하도록 합니다. if (year_cost == 0 || (product_cost - produce_cost) == 0) { printf("-1\n"); return 0; } // 손익 분기점을 계산합니다. break_e..
[컴파일러 구성] flex와 bison으로 간단한 계산기 만들기 1. 문제 제시 사칙연산이 가능한 코드를 미리 제시하고, 이를 기반으로 새로운 연산을 추가하는 문제. 추가해야 하는 연산은, 나머지 연산(%)과 지수연산(^)이다. 소스코드 파일은 flex파일인 .l 파일과, bison파일인 .y 파일이 있다. 간단히 설명하자면, flex 파일에서는 토큰을 구분하는 역할을 수행한다. bison 파일에서는 flex에서 구분한 토큰을 기반으로, 파일에서 정의한 정규문법을 처리하는 역할을 수행하게 된다. 2. 풀이 코드 flex 파일 (04-2.l) %{ // 구문분석기(bison)과 연결하기 위한 파일. 구문분석기를 실행하면 자동 생성됨. #include "04-2.tab.h" %} %% // 각 연산자 기호가 토큰이 되고, 이를 인식하면 특정 문자열을 반환한다. "+" {..
matplotlib 메모리 누수 시, 시도해볼만한 것들 문제사항: matplotlib를 통해, 반복문으로 수 백개 단위의 plot을 출력 및 저장할 때, 메모리 오류로 코드가 정지됨 해결방안 방법 1: 가비지 컬랙터와 close() 사용 import matplotlib.pyplot as plt import gc fig = plt.plot() fig.close() # 현재 figure를 삭제한다. gc.collect() # 할당이 해제된 메모리 공간을 강제로 회수한다.​ 방법 2: Figure 전체를 지워버리는 방법[1] import matplotlib.pyplot as plt fig = plt.plot() fig.close('all') # 모든 figure를 삭제한다. plt.clf() # figure 창 내의 plot을 지우기 방법3: use(“agg”) ..

반응형