반응형

분류 전체보기 141

[알고리즘] 01. 정렬 알고리즘(Sorting Algorithm)

velog에 정렬 알고리즘을 정리했지만 다시 조금씩 까먹는 것 같아 다시 한번 정리하려고 한다 컴퓨터 과학 분야에서 정렬 알고리즘은 어떤 자료의 요소를 순서대로 배치하는 방법에 관한 것이다. 검색이나 병합 알고리즘을 사용할 때 입력된 데이터가 효율적으로 정렬되어 있는 것이 중요한데, 이 때 정렬의 효율성에 알고리즘이 고려된다 정렬 알고리즘의 아웃풋은 아래의 두가지 조건을 충족해야 해야 한다 1. 아웃풋은 단조(monotonic)로워야 한다 2. 아웃풋은 인풋의 순열(permutations)이어야 한다 즉, 정렬 알고리즘을 사용해 정렬이 끝난 뒤에 결과물의 각 요소는 (1) 이전 요소보다 작거나 크지 않아야 하며(한가지 흐름을 유지한다는 뜻) (2) 인풋의 모든 요소를 유지해야 한다 위와 같이 다양한 정렬..

[Python] 자료형 특집 - (1) 시퀀스 타입(List/Tuple/Range)

자료형 특집은 기본적인 부분은 최대한 배제하고 내가 몰랐던 부분 위주로 작성하려고 한다 시퀀스타입이란 값이 연속적으로 이어진 자료형이다 Python의 기본적인 시퀀스 타입(Sequence Type)은 세가지가 있다. List/Tuple/Range (문자열 타입은 따로 정리해야 하므로 제외하도록 한다) sequence.index(x[, i[, j]]) sequence안의 x가 (i번 index 이후, j번 index 이전에서) 첫번째로 발견되는 index(위치) 반환 Optional Parameter i : 찾을 인덱스의 시작. search범위에 포함 j: 찾을 인덱스의 끝. search범위에 미포함 아래의 예제를 보자 arr = [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4] # 1 p..

[Python] 함수 사용법 - (3) itertools

이번엔 Python이 APL, Haskell, SML같은 2000년대 이전 프로그래밍 언어에 영향을 받아 캐스팅한 itertools 모듈에 대해 공부해보자. itertools 모듈은 순수 파이썬에서 간결하고 효율적으로 iterator를 만든다. from itertools import product def solution(board): for row in range(len(board)): for grid in range(len(board[row])): if board[row][grid] == 1: for i in list(product([-1, 0, 1], repeat=2)): if row+i[0] >= len(board) or row+i[0] = len(bo..

[Python] 함수 사용법 - (2) sort(), sorted()

이번엔 sort(), sorted()의 차이점과 익명함수(Anonymous Function) lambda에 대해서 알아보자 def solution(numlist, n): answer = sorted(numlist,key = lambda x : (abs(x-n), n-x)) return answer solution([1, 2, 3, 4, 5, 6], 4) solution([10000,20,36,47,40,6,10,7000], 30) 문제: solution(m_list, n)에서 n에 가장 가까운 값부터 차례로 정렬하는 문제이다. 만약 거리가 같다면 더 큰 수를 앞에 오도록 배치한다 위 풀이는 sorted()함수의 optional parameter인 key를 이용해 간단하게 문제를 해결했다 sorted(it..

[프로젝트] 02. 팀 소개 프로젝트 Brain-8

개요: 본인의 뇌구조라는 컨셉으로 만든 팀 소개 프로젝트. 뇌의 각 부위를 클릭하면 각자가 작성한 내용을 볼 수 있다 프로젝트 정보 프로젝트: Brain-8 프로젝트 (내일배움캠프 개강 첫 미니 프로젝트) 개발기간: 2023.03.13 - 2023.03.16 ( 4일 ) 역할 팀장 Layout css 뇌 컨텐츠 개발 후 Merge 코드 최적화 사용 언어: HTML, JavaScript(Vanilla), Python 사용 라이브러리: HTML, JavaScript Jquery - 전체적인 동적 웹페이지 구현 Bootstrap(프레임워크) - 각 개체들 구현 Google Font (Gamja Flower) - 웹페이지 폰트 변경 css animation cheet sheet - css animation 구현..

[프로젝트] 01. 음악 추천 서비스 SMM

개요: 추천하는 음악을 올리고 좋아요 버튼으로 다른 사람들의 반응을 볼 수 있는 사이트. 인기차트를 이용해 가장 추천수가 높은 5개를 보여준다. 카테고리를 이용해 각 장르 별로 목록을 볼 수 있다. 프로젝트 정보 프로젝트: SMM 프로젝트 (내일배움캠프 개강 전 미니 프로젝트) 개발기간: 2023.03.02 - 2023.03.09 ( 7일 ) 역할 팀장 Layout css 글쓰기 메인section 화면 좋아요 인기차트 사용 언어: HTML, JavaScript(Vanilla), Python 사용 라이브러리: HTML, JavaScript Jquery - 전체적인 동적 웹페이지 구현 Bootstrap(프레임워크) - 각 개체들 구현 Google Font - 웹페이지 폰트 변경 Python Flask - 웹..

[Python] 함수 사용법 - (1) enumerate()

프로그래머스 코딩테스트를 풀다가 아름다운 코드를 하나 보았다 문제를 풀고 다음 문제로 넘어가기 전에 다른 사람이 푼 코드를 보았는데 너무 깔끔해서 마음에 들었다 '가장 아름다운 하나의 답이 존재한다'는 파이썬의 슬로건에 맞는 코드였다 거기에 사용된 함수를 하나씩 설명하면서 내 실력도 올려보려고 한다 def solution(array): while len(array) != 0: for i, a in enumerate(set(array)): array.remove(a) if i == 0: return a return -1 solution([1, 2, 3, 3, 3, 4]) 위 문제는 주어진 array에서 최빈값을 구하는 문제였다 enumerate(iterable, [start=0]) iterable한 객체를..

[MySQL] 03. 데이터 타입 - 숫자 타입

Chapter 04. 데이터 타입 MySQL은 다음과 같은 데이터 타입을 지원한다 1. 숫자 타입 (numeric types) 2. 날짜 및 시간 타입 (date and time types) 3. 문자열 타입 (character and byte types) 4. 공간 타입 (spatial types) 5. JSON 데이터 타입 (JSON data types) 1. 숫자 타입 (numeric types) 1.1 숫자 타입 구문 M에 대해서 알아야 한다 1. 정수 타입의 경우 M은 최대 표시 너비를 뜻하고 최대 표시 너비는 255이다 (MySQL 8.0.17부터 사용되지 않을 예정) 2. 부동 소수점 및 고정 소수점 타입의 경우 M은 저장할 수 있는 총 자릿수이다 BIT(M) 비트의 값을 저장할 수 있다. ..

[MySQL] 02. 명령어(1) (기본 명령어)

Chapter 03. SQL 기본 명령어 1. DML (Data Manipulation Language) : 데이터 조작 언어 데이터 검색, 등록, 삭제, 갱신을 위한 데이터베이스 언어 SELECT DB에 있는 데이터를 조회하거나 검색하기 위한 명령어 SELECT * FROM 테이블명 [WHERE 조건]; INSERT DB에 데이터를 삽입할 때 사용하는 명령어 INSERT INTO 테이블명(field1, field2, field3) VALUES(data1, data2, data3); field는 생략 가능, 이 경우 데이터베이스의 스키마와 같은 순서대로 필드 값 자동 대입 UPDATE DB에 있는 데이터를 갱신(내용 변경)할 때 사용하는 명령어 UPDATE 테이블명 SET field1 = 'data1',..

[MySQL] 01. Introduction

Chapter 01. DataBase Management System ( DBMS ) 다수의 사용자들이 데이터베이스 내의 데이터에 접근할 수 있도록 하는 소프트웨어 도구의 집합 DBMS의 분류 계층형(Hierarchiral) : 처음 등장한 DBMS 개념으로 각 계층이 Tree구조를 가짐, 비효율적 망형(Network) : 계층형 DBMS를 개선하기 위해 등장, 같은 계층끼리도 유기적으로 연결돼 있는 구조, 비효율적 *관계형(Relational) : table이라는 최소 단위로 구성되며 table은 column과 row로 이루어짐, MySQL 등이 포함 객체지향형(Object-Oriented) 객체관계형(Object-Relational) 더보기 * 관계형 모델(Relational Model) 다음의 세 ..

반응형