분류 전체보기(48)
-
자료구조2(큐, 덱)
큐 큐는 한쪽 끝을 rear로 정하여 삽입 작업만 이루어지고 반대쪽 끝은 front로 정해 삭제 작업만 이루어진다. - 순차 자료구조 초기 상태 : front = rear = -1 , 공백 상태 : front = rear , 포화 상태 : rear = n-1 deQueue(Q) front rear++; Q->queue[Q->rear] = item; } element deQueue(QueueType *Q){ Q->front++; return Q->queue[Q->front]; } 더보기 Queue에서 deQueue를 할때 배열에 있는 요소를 삭제하는 것이 아니라 front위치만 변해서 Queue[4];인 경우 E는 삽입할 수 없는 개념을 모르고 구현하려고 해서 매우 헷갈렸다. - 파이썬으로 구현 from ..
2024.01.04 -
입출력(Python)
입력 한 줄의 문자열/데이터 입력받을 때 : input() 정수형 데이터로 처리 : int() 함수 사용, int(input()) 공백으로 구분되는 여러 개의 데이터를 입력받을 때 : list(map(int, input().split())) n = int(input()) data = list(map(int, input().split())) data.sort(reverse = True) # 공백으로 구분된 개수가 많지 않을 때 n, m = map(int, input().split()) 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.ne..
2023.12.22 -
이진 트리
트리 이진 트리는 모든 노드가 자식이 2개 이하로 구성되어 있다. 노드는 이중 연결 리스트 구조로 만들 수 있다. 이진 탐색 트리 typedef struct{ char word[20]; char mean[200];}element;typedef struct treeNode{ element key; struct treeNode* left; struct treeNode* right;}treeNode;treeNode* searchDic(treeNode* root, element key){ treeNode* p; int compare; p = root; while(p != NULL){ compare = strcmp(key.word, p->key.word..
2023.12.01 -
정렬
정렬(Sorting)이란 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 정렬 알고리즘은 이진 탐색의 전처리 과정 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬, 파이썬에서 제공하는 기본 정렬 라이브러리 (reverse 함수는 O(N)의 복잡도로 수행할 수 있으므로 내림차순 정렬은 오름차순 정렬을 수행한 뒤에 뒤집으면 된다.) 파이썬의 정렬 라이브러리 파이썬은 기본 정렬 라이브러리인 sorted() 함수를 제공한다. (딕셔너리 자료형 등을 입력받고 반환되는 결과는 리스트이다.) 병합 정렬을 기반으로 만들어졌고 시간 복잡도는 O(NlogN) 리스트 객체의 내장 함수인 sort() - 리스트가 반환되지 않고 내부 원소가 바로 정렬된다 array = [('banana', 2), ('apple', 5), (..
2023.09.15 -
구현 유형(완전 탐색, 시뮬레이션)
코딩 테스트에서 구현이란 '머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정' 구현 문제 유형은 모든 범위의 코딩 테스트 문제 유형을 포함하는 개념이다. 코딩 테스트에서는 구현이 중심이 되는 문제가 자주 출제된다. 구현 유형(완전 탐색, 시뮬레이션)의 문제는 '풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제' 완전 탐색 유형 - 모든 경우의 수를 다 계산하는 해결 방법 시뮬레이션 유형 - 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행 상하좌우 n = int(input()) x, y = 1, 1 d = input().split() dd = ['L','R','U','D'] dx = [0, 0, -1, 1] # 오른쪽이면 x좌표가 움직일 것 같음 dy = [-1, 1, 0, 0] for p..
2023.09.12 -
python (알고리즘 구현을 위한)기초 문법
변수 선언 # 변수 선언을 할 필요가 없다 boolVar, intVar, floatVar, strVar = True,0,0.0,"" type(boolVar), type(intVar), type(floatVar), type(strVar) #(, , , ) print() 함수 print("100") # 문자 print("%d" % 100) # %d 정수 서식(10진수), % 왼쪽 서식과 오른쪽 값을 구분하는 역할 # %x 16진수, %o 8진수, %f 실수, %c 문자 하나로 된 글자, %s 한 글자 이상의 문자열 print("%d %d" % (100,200)) # 서식의 개수와 따옴표 뒤에 나오는 값의 개수는 같아야 한다 print('a = %c\nb = %c' % (a,b)) # a='1', b='2' ..
2023.09.10