분류 전체보기 477

데이터마이닝 #0 | 데이터 마이닝이란? 데이터마이닝의 주제, 분야, 응용

이 글은 서울대학교 Open Courseware의 데이터마이닝개론 강의 자료를 읽고 풀어쓴 글입니다. 서울대학교 OCW 홈페이지 -> SNU OPEN COURSEWARE | SEOUL NATIONAL UNIVERSITY 왜 데이터 마이닝인가 오늘날 쏟아지는 데이터에는 지식과 가치가 숨어있다. 생성된 데이터에서 지식을 추출해내기 위해서는, 그 전에 데이터를 저장하고 처리하고 분석하는 과정을 거쳐야한다. 데이터 마이닝은 이 중 '분석' 단계에 집중하는 분야이다. 데이터 마이닝이란 데이터 마이닝은 대용량 데이터에서 패턴과 모델을 찾는 기법과 이론을 의미한다. 이때 분석은 타당성(valid), 유용성(useful), 독창성(unexpected), 이해 가능성(understandable)을 갖추어야 한다. 타당성..

백준 C++ | #16 BOJ10828 스택 C++ 문제 풀이

10828번: 스택 (acmicpc.net) 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제는 간단했다. N개의 입력이 주어지면, 이를 스택 매소드로 변환하여 그 결과를 출력해주면 되었다. 구현은 금방 했는데 시간 초과가 났다. 아마도 std::cin, cout 때문인 것 같아 cstring 헤더를 포함시켜 scanf로 수정해주었다. #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include i..

백준 C++ | #15 BOJ9012 괄호 C++ 문제 풀이

9012번: 괄호 (acmicpc.net) 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net c++의 stack STL을 이용해서 푸는 문제였다. 입력 문자열을 받은 뒤에, 문자열을 하나씩 순회하면서 스택을 이용해서 괄호 열기(와 괄호 닫기)의 짝을 맞추었다. 문자가 (라면 스택에 Push하고 문자가 )이면 스택에서 Pop해준다. 만약 스택에서 Pop할 것이 없다면(스택이 비어있다면), 이번 괄호는 NO인 것이다. 문자열을 모두 처리한 순간에 스택이 비어있다면(모두 짝이 맞았다면)..

점프 투 장고 #2-2 | 장고 관리자, 조회와 템플릿, URL 별칭 익히기

[참고] 2-03 장고 관리자 - 점프 투 장고 (wikidocs.net) 2-03 장고 관리자 * `[완성 소스]` : [github.com/pahkey/jump2django/tree/2-03](https://github.com/pahkey/jump2django/tr ... wikidocs.net 장고 관리자 장고는 관리자 전용 페이지를 지원한다. /admin 페이지에서 슈퍼 유저를 생성하고, /admin 페이지를 이용해 모델을 관리하고 검색하는 기능을 추가해보자! 슈퍼 유저 장고 관리자 화면 모델 관리 모델 검색 step 1. 슈퍼 유저 생성 터미널에서 python manage,py createsuperuser로 슈퍼 유저를 생성한다. python manage.py createsuperuser Use..

백준 C++ | #14 BOJ1927 최소 힙 C++ 문제 풀이

1927번: 최소 힙 (acmicpc.net) 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 자체는 간단하다. x개의 정수를 받아서 x가 자연수일 때에는 x를 배열에 저장해두고, x가 0일 때는 배열의 최댓값을 출력한 뒤에 그 값을 삭제해주면 된다. 처음에는 최소 힙을 사용하지 않고 벡터를 이용해서 구현했다. 그랬더니 시간 초과가 발생해서 queue의 priority queue를 이용해서 구현했으나 그래도 시간초과가 나서 결국 std::cin, cout 대신 scanf, printf..

점프 투 장고 #2 | 장고 URL, 뷰, ORM, 모델 익히기

[참고] 2장 장고의 기본 요소 익히기! - 점프 투 장고 (wikidocs.net) 2장 장고의 기본 요소 익히기! 이 장에서는 장고 개발을 하는 데 필요한 기본 내용을 모두 다룰 것이다. 여러분이 앞으로 만들 '파이보'가 완성된 빌딩이라면 이 장은 기초 공사에 해당한다. 기초 공사를 탄 ... wikidocs.net 예제로 배우는 파이썬 프로그래밍 - DB 설정과 Migration (pythonstudy.xyz) URL과 뷰 urls.py views.py 장고의 개발 흐름 url 분리 장고 URL이란? 장고 URL을 만들어보자. 장고 url에 원하는 url을 만들고, url에 일치하는 뷰를 연결해주는 것이다. views.py의 views 함수는 urls에서 view로 매핑해준다. 로컬 호스트인 127..

백준 C++ | #13 BOJ1436 영화감독 숌 C++ 문제 풀이

1436번: 영화감독 숌 (acmicpc.net) 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 666이 들어가는 N번째 작은 수를 찾는 게 너무 어려워서 그냥 666부터 시작해서 1씩 키워가면서 노가다로 찾기로 했다(tmp++;) #include #include int main() { int n; std::cin >> n; int tmp=666; while (true) { // tmp에 한번이라도 666이 등장한다면 if (std::to_string(tmp).find("666") != std::strin..

점프 투 장고 #1 | 벡엔드 프레임워크, 장고 시작하기

[참고] 1-03 장고 개발 환경 준비하기 - 점프 투 장고 (wikidocs.net) 장고란 무엇인가? 장고(Django)는 파이썬으로 만들어진 웹 프레임워크이다. 웹 사이트를 빠르게 개발할 수 있도록 웹 사이트 개발에 필요한 회원가입, 로그인, 로그아웃, 쿠키, DB 등의 기능을 미리 만들어둔 것이 웹 프레임워크이다. 장고는 The web framework for perfectionists with deadlines. 라는 문구를 가지고 있다. 그만큼 빨리 개발할 수 있게 해주는 웹 프레임워크라고 한다. 파이썬 가상환경 준비하기 환경 : WSL sudo apt-get update sudo apt install python3.8-venv 파이썬 가상환경에 장고를 설치하기 위해, 파이썬 venv 가상환경..

백준 C++ | #12 BOJ1110 더하기 사이클 C++ 문제 풀이

1110번: 더하기 사이클 (acmicpc.net) 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net #include int main() { // 첫째 줄에 N이 주어진다. int n; std::cin >> n; // 처음에 주어진 수의 가장 오른쪽 자리 수와 // 구한 합의 가장 오른쪽 자리 수를 이어 붙여 새로운 수를 만들 수 있다. // 몇 번만에 원래 수로 돌아올 수 있을까? int tmp = n; int next = -1, trial = 0; while (next != n) { // 각 ..

백준 C++ | #11 BOJ1966 프린터 큐 C++ 문제 풀이

1966번: 프린터 큐 (acmicpc.net) 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 컴파일 에러가 자꾸 났는데 알고보니 #include 을 안하고 std::sort를 써서 그런 거였다. #include #include #include #include #include int main() { int testcase; std::cin >> testcase; std::vector answer; for (int i = 0; i < testcase; i++) { // 문서의 개수 n // 출력 순서(우선순위 큐..