분류 전체보기117 [알고리즘] 구간 합 구간 합(prefix sum) 배열이나 리스트에서 특정 구간의 합. 1차원 리스트에서 i 인덱스 부터 j 인덱스 까지의 합을 구하는 데 사용. 구간 합 알고리즘을 활용하려면 누적 합 배열을 알아야한다. 합 배열 만약 배열의 0부터 N까지의 합을 구한다면 시간 복잡도는 O(N)이다. 합 배열을 사용하면 O(1) 안에 해결할 수 있다. S[3] = A[0] + A[1] + A[2] + A[3] S[i] = A[0] + A[1] + A[2] + ... + A[i - 1] + A[i] 배열: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 위 배열의 S[5]를 구하면 1 + 2 + 3 + 4 + 5 + 6 = 21 배열의 합을 구하는 시간 복잡도는 O(N)이다. 만약 합을 반복하여 구해야한다면 O(N^.. 파이썬/알고리즘 2023. 10. 21. [파이썬] 임의 정밀도 정수 - 미완 아래는 Java의 데이터 타입에 따른 크기 범위이다. Java에선 100자리수 정수를 정수형 변수로 입력받을 수 없다. (fixed-precision) 하지만 파이썬은 임의 정밀도 방식(arbitrary-precision)을 사용하기 때문에 변수의 크기에 제한이 없다. https://mortada.net/can-integer-operations-overflow-in-python.html Can Integer Operations Overflow in Python? — Random Points We can see that it takes 28 bytes before we get to $2^{30}$ where python allocates 4 more bytes to store larger integers... 파이썬/기본 2023. 10. 21. [알고리즘] 자료구조, 배열과 리스트 기본 자료구조로서의 배열과 리스트에 대해 알아본다. 배열 배열은 메모리 공간에 연속적으로 존재한다. 각 인덱스는 연속된 메모리 주소를 갖는다. 인덱스로 값에 접근할 수 있다. 특정 인덱스의 값을 삽입하거나 삭제하려면 인덱스 주변의 값들도 이동시켜야한다. 배열의 크기는 선언할 때 지정할 수 있다. 선언된 배열의 크기는 변경할 수 없다. 리스트 인덱스가 없다. 값에 접근하려면 Head 포인터부터 순서대로 접근해야 한다. 노드로 이루어져 있다. 노드는 값과 다음 값의 주소를 가리키는 포인터로 이루어져있다. 포인터를 사용하기 때문에 데이터를 삽입하거나 삭제하는 연산이 빠르다. 선언할 때 크기를 지정하지 않아도 된다. 포인터를 저장할 공간이 필요하다. 파이썬의 리스트 파이썬의 리스트는 기본 자료구조로서의 리스트와.. 파이썬/알고리즘 2023. 10. 21. [JavaScript] JavaScript JavaScript란? JavaScript는 웹 페이지에서 복잡한 기능을 구현할 수 있는 스크립팅 또는 프로그래밍 언어이다. JavaScript 특징 객체 기반의 스크립트 언어이다. 대소문자를 구별한다. 원래는 문장 끝에 ;(세미콜론)을 사용한다. 지금은 세미콜론을 생략해도 된다. JavaScript 출력 브라우저에서 바로 출력 브라우저에서 F12 -> 콘솔 사용한 브라우저는 크롬이다. 콘솔창 내에서 명령을 입력하면 동작을 바로바로 확인할 수 있다. 해당 콘솔창은 브라우저마다 지원하는 형식이나 정도가 다를 수 있다. HTML문서에서 출력 HTML 문서 작성을 위해 VScode를 실행한다. 2023.10.08 - [개발/웹] - [HTML] HTML이란 [HTML] HTML이란 HTML HTML은 Hype.. 웹/JavaScript 2023. 10. 20. [CSS] 선택자 선택자( Selectors ) 스타일을 적용하려는 HTML 요소들을 선택하기 위해 사용 선택자의 종류는 다양하다. 예시에는 인라인 스타일을 사용함. 요소 선택자, 전체 선택자 특정 요소가 쓰인 모든 요소에 스타일을 적용한다. *를 사용하여 전체 요소에 적용한다. 요소가 너무 많이있는 경우 클라이언트에 부하를 줄 수 있다. 개별적으로 적용한 스타일은 전체 선택자에 적용한 스타일보다 우선. 요소 선택자 특정 요소가 쓰인 모든 요소에 스타일을 적용 span 요소 strong 요소 ins 요소 div 안에 p 밖에 요소div 안에 p 요소 Result: * 상속 위 예시에 태그 안에 , , 요소에도 에 해당하는 스타일이 적용되었다. 이것은 부모 요소의 속성값이 자식 요소에게 전달된 것이고, 상속이라고 한다. 속.. 웹/CSS 2023. 10. 10. [CSS] CSS란, 사용 유형 CSS Cascading Style Sheets 의 약자 HTML 요소가 화면에 어떻게 보일지 묘사하는 언어 CSS 문법 HTML 인라인 스타일 HTML 요소 내부에 style 속성을 사용하여 적용하는 방법 Result: 내부 스타일 HTML 문서의 사이에 요소를 사용하여 적용하는 방법 CSS를 적용하는 방법 인라인 스타일 내부 스타일 외부 스타일 Result: 외부 스타일 웹 사이트 전체의 스타일을 하나의 파일에서 변경할 수 있도록 적용하는 방법 CSS를 적용하는 방법 인라인 스타일 내부 스타일 외부 스타일 style.css /* style.css 작성일: 2023-10-10 작성자: Caramel Bottle 내용: 외부 스타일 적용 방법 */ h2 { font-size: 50px; } /* h2 요.. 웹/CSS 2023. 10. 10. [파이썬] glob glob glob은 파일 및 디렉토리를 패턴을 사용하여 검색하는 데 사용된다. glob 파일 찾기, 현재 경로 import glob # 현재 디렉토리에서 확장자가 .txt인 파일 찾기 txt_files = glob.glob("*.txt") print(txt_files) glob 모듈의 glob 함수를 사용하여 파일을 찾는다. 메서드 인자로는 경로에 대한 문자열이 입력된다. 경로는 절대경로와 상대경로 모두 사용이 가능하다. 위의 경우 상대경로로, 현재 디렉토리에 있는 '.txt' 로 끝나는 파일을 반환하게 된다. glob 파일 찾기, 하위 경로 # 하위 경로의 txt파일 찾기 for filename in glob.glob('**/*.txt'): # '**' 하위의 어떤 경로든 상관없다. print(fil.. 파이썬/기본 2023. 10. 9. [HTML] Emmet HTML Emmet Emmet은 HTML, CSS의 빠르고 효율적인 작성을 도와주는 플러그인이다. Emmet은 사전에 정의된 사용 가능한 태그가 따로 없다. 즉 태그에 어떤 이름을 써도 사용이 가능하다. Emmet에는 공백을 사용할 수 없다. 정확하게는 공백은 Emmet을 멈추는 기능을 한다. Nesting Oprators Child: > 상위 태그부터 하위 태그를 > 로 연결하면 순서대로 구조화. div>ul>li Result: Sibling: + +로 연결된 태그들을 같은 레벨에서 생성 div+p+p+div Result: Climb-Up: ^ ^을 사용하면 한 단계 높은 레벨에 위치시킬 수 있다. ^ 미사용 div+div>p>span+p Result: ^ 사용 div+div>p>span+p^bq Re.. 웹/HTML 2023. 10. 9. [HTML] 태그, 오류, 특징 HTML 태그 HTML은 수많은 태그들로 이루어져있다. 위 태그들을 유심히 보면 쌍으로 이루어진 것과 아닌 것이 있다. 시작 태그와 끝 태그를 가지는 것이 보통이다. 끝 태그가 없는 태그를 빈 태그라고 한다. , 등등... HTML 오류 HTML에서 오타가 나거나 끝 태그를 작성하지 않으면 어떻게 될까? 제목2 1. 문단 태그 웹/HTML 2023. 10. 9. [HTML] HTML이란 HTML HTML은 Hyper Text Markup Language의 약자이다. HTML은 웹 페이지를 만들기 위한 대표적인 Markup 언어이다. HTML은 요소들로 이루어져 있다. 아래는 vscode에서 ! + ⏎ 를 입력하면 나오는 기본 구조이다. 문서의 유형을 나타낸다. 이는 HTML5 임을 나타낸다. 이전 버전의 경우 훨씬 길고 복잡한 문장으로 구성되어 있다. * HTML 4.01의 유형 선언 은 문서의 루트 요소이다. 아래는 W3C HTML 튜토리얼 페이지의 의 일부이다. 태그의 사용 예시를 확인할 수 있다. 의 경우 문서의 제목을 정의하고 브라우저 탭의 이름으로 표시된다. 을 작성하지 않으면 아래와 같이 표시된다. 타이틀은 즐겨찾기에 추가되거나 검색 엔진 결과로도 사용되기 때문에 적절하고 의.. 웹/HTML 2023. 10. 8. [프로젝트] Python과 MySQL을 이용한 맛집 추천 게시판 소개 MySQL과 Python을 사용하여 간단한 게시판 프로그램을 만들어 보았다. MVC 디자인 패턴과 DB활용법을 익히기 위한 간단한 프로젝트이다. 최근 일본여행을 자주 다녀왔다. 출국하기 전엔 항상 맛집을 찾곤 했는데 찾아놓은 가게의 간단한 정보를 다시보기 위해서 항상 구글맵을 켜야했다. 맛집에 대한 간단한 정보를 메모하고 공유할 수 있는 작은 프로그램이 있다면 좋을 것 같다는 생각을 바탕으로 제작하였다. UI는 구현하지 않았고 주피터로 실행한 후 입력창에서 모든 동작을 수행하게끔 했다. 추후 여유가 생긴다면 웹이나 어플리케이션으로 제작해도 재밌을 것 같다. 프로그램 이름은 JBR(Japanese Best Restaurant). * MVC 패턴을 아직 공부중이기에 패턴에 어긋나는 부분이 있을 수 있음.. 프로젝트 2023. 9. 30. [MySQL] db 사용자관리 * mac OS를 기준으로 작성됨. 사용자 추가하기 terminal에서 root로 로그인 moonsmac@yangmungiui-MacBookAir ~ % cd /usr/local/mysql/bin moonsmac@yangmungiui-MacBookAir bin % ./mysql -u root -p 설정한 비밀번호를 입력후 로그인. 로그인에 성공했다면 다음과 같이 mysql에 접속해있음을 알 수 있다. mysql> 접속 가능한 사용자 추가하기 mysql> create user '사용자명'@'localhost' identified by '비밀번호'; '사용자명', '비밀번호' 항목엔 사용하고자하는 임의의 이름과 비밀번호를 입력한다. mysql> create user 'moon'@'localhost' iden.. 데이터베이스/MySQL 2023. 9. 20. 이전 1 ··· 4 5 6 7 8 9 10 다음