전체 글 612

[Algorithm] 4주차 스터디 - 큐, 덱 (백준 11866, 5430, 10025, 15565)

문제 (11866: 요세푸스 문제 0) www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤N)가 주어진다. 순서대로 K번째 사람을 제거하고, N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. N과 K가 주어지면, (N, K)-요세푸스 순열을 구하는 문제다. 풀이 queue의 FIFO(First-In-First-Out) 구조를 활용한다. queue에 1부터 N까지의 정수를 push 한다. K를 기준으로 그 앞의 수를 모두 순서..

[Machine Learning] 6주차 스터디 - 이미지 처리 기본

1. 이미지 분석 기본 용어 정리 (1) 화소(Pixel) Pixel 픽셀이란, 영상처리의 최소 기본 단위를 말한다. 0~255 사이의 값으로 표현하는데 0은 검정색, 255는 흰색을 의미한다. Resolution 몇 개의 픽셀로 이루어졌는지를 폭넓게 나타내는 말이다. 가로 픽셀 수 * 세로 픽셀 수 로 나타낸다. (2) 파일 포맷(File format) Raster(Bitmap) 픽셀이 모여 하나의 이미지를 구성하는 방식 중의 하나이다. ex) GIF,BMP,JPEG,PNG... 등 Vector Graphics 점, 선, 도형 등의 객체를 이용해 이미지를 구성하는 방식이다. ex) PS,EPS,SVG... 등 (3) 컬러 공간(Color Space) 흑백 이미지(1-channel): 컬러 모델이 gra..

[Kaggle/ML] 캐글(Kaggle) 시작하기

이 글은 2020.11.23 에 진행된 코어멤버 하람님의 ‘머신러닝과 데이터 사이언스 커뮤니티, 캐글 시작하기’ 세션을 바탕으로 작성된 블로그 포스팅입니다. 새 창에서 열기 (발표자 노트를 참고하실 수 있습니다) 1. 캐글(Kaggle) 이란? 🤔 📌 머신러닝과 데이터 과학 커뮤니티 경진대회를 주최하는 플랫폼 2017년 3월에 구글의 모회사인 알파벳(Alphabet)에 인수됨 📌 캐글에서 캐글러가 캐글링하기 캐글러(Kaggler) : 캐글에 모이는 사용자 또는 대회 참가자 캐글링(Kaggling) : 캐글에서 활동하거나 경진대회에 참가해 경쟁하는 것 공용어 : 영어, 영문 데이터, Python과 R 📌 캐글링에 필요한 지식 프로그래밍이나 머신러닝 지식이 없어도 누구나 참가 가능 머신러닝 입문용 온라인 강..

[웹 1팀] 1. React + Spring Boot (Gradle) 연동하기

Front-end: Create React App Back-end : Spring Boot 각각의 장점을 최대한 활용하기 위해 분리해서 작업하는 방법 React + SpringBoot (Gradle) 손쉽게 연동하기 연동을 위해 이 블로그 글대로 진행하였습니다. 1. SpringBoot 생성 Spring io를 이용해 스프링 부트 생성 Intellij에서 Project Type을 Gradle로 변경 2. ReactApp 1단계에서 만든 SpringProjectName/src/main/ 경로로 접근 create-react-app [PROJECT NAME] 명령어 실행 cd [PROJECT NAME] 실행 npm start 실행 새 터미널 창 열고 작업하던 경로로 이동 npm install 실행 npm ru..

[Machine Learning] 5주차 스터디 - 추천 시스템

5주차 목표 : 자연어 처리(문서 유사도)를 이용한 추천 시스템 실습 참고 강의 : [구름 Edu] 딥러닝 이론 및 파이썬 실습 참고 자료 : inuplace.tistory.com/594 1. 자연어처리 - 문서 유사도 1. Bag of Words : 문자를 숫자로 표현하는 방법 중 하나. 단어들의 순서를 전혀 고려하지 않고 출현 빈도에 집중하여 텍스트 데이터를 수치화해서 표현한다. → 머신러닝 모델의 입력값으로 사용할 수 있다. (머신러닝 모델은 수학적 모델이므로, 입력값으로 수치화된 값이 들어가야 한다) 1) 문장 간의 유사도 구하는 방법 1. 문장의 단어마다 고유한 인덱스를 부여한 후, 각 단어의 출현 빈도를 기록한다. 2. 유사도를 구하고자 하는 문장들의 각 인덱스에 있는 값끼리 전부 곱하고 그 ..

[Spring boot] 4주차 스터디 - AOP

스프링 부트 강의를 들으면서, AOP에 관련된 내용이 문제 상황에 적용하는 방법에 대한 강의 위주로 나와 있어서 AOP에 대한 개념과 틀을 잡고 싶어서 글을 쓰게 되었습니다. 1. AOP? 인프라 혹은 부가 기능의 모듈화(로깅, 트랜잭션..etc) Aspect Oriented Programming의 약자로, **관점 지향 프로그래밍**이란 뜻입니다. 프로그래밍 과정에서 공통 기능을 모든 모듈에 효율적으로 적용하기 위해 개발된 방법입니다. 상속이나 위임을 통해 공통 기능을 모듈에 적용할 수 있지만, JAVA에서는 다중 상속이 불가능해서 한계가 있고, 기능을 구현하는 부분에서 핵심코드와 공통 기능 코드가 섞여 있어서 모듈화가 되지 않아 가독성/유지보수성이 좋지 않습니다. 그래서 공통 기능을 모듈화한 후, 공..

[Machine Learning] 4주차 스터디 - 나이브 베이즈 분류기

4주차 목표 : 나이브 베이즈 분류기를 통한 캐글 데이터 긍정과 부정 분류하기 참고 캐글 사이트 : www.kaggle.com/c/nlp-getting-started/data ▶실습 실습 내용 : train.csv의 데이터를 가지고 와서 ['text', 'target'] 컬럼만 가져오기 1 ). 데이터 불러오기 및 필요한 데이터만 선별하여 train data에 저장 import pandas as pd import re from collections import Counter from math import log, exp df = pd.read_csv('./train.csv') # "text", "target" column만 갖고오기 df = df[['text','target']] df.head() # t..

[Algorithm] 3주차 스터디 - 스택(백준 17608, 10828, 2504)

알고리즘 스터디 3주차에는 선형 자료구조인 스택을 공부하고 스택 관련 문제들을 풀어보았습니다. 17608 막대기 [문제 링크] 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net [문제 요약] 높이가 각각 다른 막대기들을 왼쪽에서부터 오른쪽으로 일렬로 세웁니다. 그리고 나서 오른쪽에서 막대기들을 바라보면 오른쪽에 있는 막대기보다 높이가 낮은 막대기는 보이지 않습니다. N개의 막대기의 높이가 왼쪽에서 오른쪽으로 차례대로 주어지고, 오른쪽에서 바라봤을 때 보이는 막대기의 개수를 구하는 문제입니다. [풀이] 스택에 왼쪽에서부..

[Spring Boot] 3주차 스터디 - 스프링빈, 웹MVC개발

섹션 4. 스프링 빈과 의존관계 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 섹션 5. 회원 관리 예제 - 백엔드 개발 회원 웹 기능 - 홈 화면 추가 회원 웹 기능 - 등록 회원 웹 기능 - 조회 섹션 4. 스프링 빈과 의존관계 ① 컴포넌트 스캔과 자동 의존관계 설정하기 ② 자바코드로 직접 스프링 빈 등록하기 1. 컴포넌트 스캔 @Component 애노테이션이 있으면 스프링 빈으로 자동 등록 @Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문 @Component 를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록 @Controller @Service @Repository * 회원 서비스 스프링 빈..