본문 바로가기
728x90
반응형

분류 전체보기190

더맵게(프로그래머스 level 2) 더 맵게 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 s.. 2020. 10. 26.
추천시스템에서의 유사도 지표와 피드백 특징 연구. CF알고리즘에서 메모리 기반의 kNN 알고리즘에서 주요 이슈로 기본적으로 cold-start가 있고, 그리고 또 동시 평가 아이템을 기준으로 유사도를 구하는 알고리즘의 특성상, 동시 평가 아이템이 적을 수 밖에 없는 평점 매트릭스에서 더 잘 유사도를 구하기 위한 연구들에 대해 알아본다. 주어진 평점 매트릭스는 늘 sparse하다. 그럴 수 밖에 없는 것이 아이템은 제한되어 있고, 사용자는 상대적으로 훨씬 많다. 특정 사용자 둘 간의 유사도를 구하려해도 동시에 평가한 항목들이 소수여서 제대로 유사도가 측정되지 않는다. 이를 개선하고 싶으면 먼저, 유사도를 구하는 방법들에 대해 탐구할 필요가 있다. 유사도를 구하는 식은 다양하며 각 유사도가 가진 특징을 보고 적절히 발전을 시키면 기존의 base simila.. 2020. 10. 23.
문자열압축(프로그래머스 level2) 문제 설명 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 aabbaccc의 경우 2a2ba3c(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, abcabcdede와 같은 문자열은 전혀 압축되지 않습니다. 어피치는 이러한 단점을 해결하기 위해 문자열을 1개 이상의 단위로 잘라서 압축하여 더 .. 2020. 10. 22.
124나라 (프로그래머스 level 2) 124 나라의 숫자 darklight sublimevimemacs Python3 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법124 나라10진법124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 n은 500,000,000이하의 자연수 입니다. 입출력 예 nr.. 2020. 10. 19.
Nearest Neighbor Method NN과 같은 경우는 데이터가 풍부하고 양질이라고 하면 충분히 다양한 환경에서 좋은 성능을 내고 있다. 알고리즘 자체가 쉽고 직관적이라서 좋고, 또 다양한 방법으로 연구도 진행중인 알고리즘이다. 오늘 살펴볼 nearest neighbor 는 회귀, 로지스틱회귀, 나이브베이즈 등과 같은 이론적인 배경이 있어야 하는데, NN의 경우에는 직관적이고 복잡하지 않아서 쉽게 이해할 수 있다. NN은 classification 이든 regression이든 둘 다 사용이 가능하다. 핵심은 새로운 관측치가 왔을 때 관측치의 output은 train 샘플 중 가장 가까운 샘플을 찾고 그 샘플의 output을 가지고 예측값을 생성한다. NN 방식에는 여러가지 있는데, 먼저 kNN 부터 살펴보자. kNN에서 k는 사용자가 직접.. 2020. 10. 18.
Support Vector Machine(1) 이번장에서는 Support vector machine에서 classification을 다룬 방법에 대해 알아본다. 로지스틱 회귀나 나이브 베이즈는 확률론적 접근으로 class를 할당했고, 의사결정나무는 rule 기반으로 class를 할당했다. SVM은 decision boundary를 찾아서 class간 경계를 만드는 방법이다. 기본적인 가정은 최적의 decision boundary를 찾는 것이다. 아래에서는 이진 클래스에 대해 분리를 한다. 이 클래스를 잘 구분지어줄 경계를 찾는 것이 목표이다. 데이터들이 주어졌을 때, 그을 수 있는 선은 무수히 많다. 아래의 H3 처럼 좋은 경계선을 찾아야 한다. H2 처럼 다 나눌수는 있지만 H2와 H3 중 어떤게 더 좋은 건지도 구분해야 한다. SVM에서는 cla.. 2020. 10. 18.
728x90
반응형