목록2023/10 (21)
Machineboy空
질의(inquiry)와 같은 뜻 - 파일의 내용 등을 알기 위해서 몇 개의 코드(code)나 키(key)를 기초로 질의하는 것 - 데이터 베이스에 존재하는 자료를 사용자가 원하는 조건을 통해 검색하고 검색된 결과를 자유로이 조회할 수 있는 기능 이러한 질의어들이 구조적으로 체계화된 것을 SQL(structed query language)라고 한다. * 백준에서의 예제 입력 속 질의(query)의 뜻
import sys input = sys.stdin.readline # 한 줄 읽기 suNo, quizNo = map(int, input().split()) # 1번째 줄 띄어 쓰기 분할 및 변수 하나씩 할당 numbers = list(map(int, input().split())) # 2번째 줄 띄어 쓰기 후 list 생성 prefix_sum = [0] # 빈 List 생성 (prefix sum 자체가 합 베열의 의미) temp = 0 for i in numbers: temp = temp + i prefix_sum.append(temp) # 합 배열 생성 for i in range(quizNo): # for 문에서 range()의 사용법 : range(횟수)만큼 반복 s, e = map(int, inp..
배열(Array) 리스트(List) 개념 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조 값과 포인터를 묶은 노드라는 것을 포인터로 연결한 자료구조 장점 인덱스를 사용하여 값에 바로 접근할 수 있다. 접근 속도가 느리다 (인덱스가 없으므로 포인터부터 순서대로 접근해야하므로) 단점 1 삽입, 삭제가 어렵다. 데이터를 삽입하거나 삭제하는 연산 속도가 빠르다. 단점 2 한 번 선언 후 크기를 늘리거나 줄이기 어렵다 크기가 가변적 * 파이썬에서의 리스트는 배열과 리스트의 장점만 모아둠 배열의 Index로 접근 가능 리스트의 가변적인 크기 연결리스트 (Linked List) //기본 노드(data, pointer) 구성 class Node{ constructor(data){ this.data = data;..
디버깅(Debugging): 프로그래밍에서 잘못된 부분을 찾아 고치는 것 버그(bug)는 벌레를 뜻합니다. 초기 컴퓨터 개발자 중 한 명인 그레이스 하퍼가 컴퓨터 고장의 원인을 조사하던 중 회로 사이에 나방 한 마리가 끼어있는 것을 발견했다고 합니다. 이 나방 때문에 컴퓨터가 고장났던 것인데, 그때부터 컴퓨터에 어떤 문제가 생길 경우 버그라고 부르게 되었습니다. 그리고 디버깅(debugging)은 버그를 잡는다는 의미로서 잘못된 부분을 찾아 고치는 것을 뜻하게 되었지요. [네이버 지식백과] 디버깅 [debugging] (천재학습백과 초등 소프트웨어 용어사전) 문법 오류 보통 컴파일러가 자동으로 찾아줌 논리 오류 사용자의 의도와 다르게 동작, 디버깅을 통해 잡아야 함 대표적 디버깅(Debugging)의 종..
시간복잡도 (Time-Complexity) 복잡도는 시간복잡도와 공간복잡도로 나뉜다. 시간복잡도 알고리즘에서 주어진 문제를 해결하기 위한 연산 횟수 입력 크기에 대해 어떠한 알고리즘이 실행되는데 걸리는 시간 but 시간은 컴퓨터 사양마다 다르므로 로직이 얼마나 반복되었는가 중점으로 측정 일반적으로 데이터 크기가 클 수록 시간 복잡도가 올라간다. 주요 로직의 반복횟수를 중점으로 측정 가장 많이 중첩된 for문이 전체 코드의 시간 복잡도의 기준이 된다. ex)1~100 사이의 무작윗값을 찾아 출력 Big - Ω 빅-오메가 best case 1 Big - Θ 빅-세타 average case N/2 Bit - O 빅-오 worst case N 시간복잡도 도출 기준 상수는 시간 복잡도 계산에서 제외 연산횟수가 3..