- Today
- Total
목록View All (355)
DATA101
📝 문제 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 💡 접근법 다이나믹프로그래밍(DP)을 활용하여 해결하였습니다. DFS 알고리즘으로도 해결 가능합니다. 이와 관련한 해설은 이곳을 참고해 주세요. DP를 활용한 풀이는 다음과 같습니다. 저는 근무 가능일이 아닌 퇴사일로부터 근무가 가능한 첫 날까지 역순으로 근무 선택일에 따른 이익을 계산하였습니다. 즉, 퇴사일로부터 \(i\)번째까지 근무한 경우 이익은 \((i+1)\)까지 근무한 경우의 이익과 \((i+t)\)까지 근무한 경우의 이익 중 최댓값을 고르도록 로직을 작성하였습니다. 만일 해당 일에 근무하지 않으면 \(i\)번째 ..
📝 문제 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 💡 접근법 DFS 알고리즘으로 문제를 해결하였습니다. 다이나믹 프로그래밍(DP)로도 문제 해결이 가능합니다. DP 관련 풀이는 이곳을 참고해 주시고, 본 포스팅에서는 DFS 기반 풀이만 공유합니다. 문제 풀이의 핵심은 상담 수수료는 낮은데 상담 소요일이 긴 근무일은 근무를 하지 않도록 하는 것입니다. 예를 들어, 근무 가능일이 \(4\)일 남았고 상담 수수료와 소요일이 아래 표와 같이 주어졌다고 가정해 보겠습니다. 근무일 Day 1 Day 2 Day 3 Day 4 상담 수수료 20 30 40 50 상담 소요일 2 3 4 5 ..
📝 문제 https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 💡 접근법 DFS 알고리즘을 활용하여 문제를 해결하였습니다. DFS를 통해 특정 좌표에 상하좌우 방면으로 3개의 블록을 이어 붙이면 'ㅏ', 'ㅓ', 'ㅗ', 'ㅜ' 모양을 제외한 모든 테트로미노를 만들 수 있습니다. 'ㅏ', 'ㅓ', 'ㅗ', 'ㅜ' 모양의 테트로미노는 2번째 블록까지 붙였을 때 새로운 블록에서 이어붙일 다음 블록을 탐색하지 않고 다시 기존 블록 위치에서 탐색하도록 로직..
📝 문제 https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 💡 접근법 파이썬에서 몫을 구하는 연산자(//)를 활용하면 간단히 풀 수 있는 문제입니다. 시험장마다 총감독관이 감독할 수 있는 인원을 제외하고, 여기서 부감독관이 감독할 수 있는 인원만큼 나누어 나머지가 있다면 부감독관 수를 1 추가하면 해결할 수 있습니다. 💻 전체 코드 import sys; input = sys.stdin.re..
💡 목표평균제곱오차(MSE)의 개념과 특징에 대해 알아봅니다.1. MSE 개념평균제곱오차(Mean Squared Error, MSE)는 이름에서 알 수 있듯이 오차(error)를 제곱한 값의 평균입니다. 오차란 알고리즘이 예측한 값과 실제 정답과의 차이를 의미합니다. 즉, 알고리즘이 정답을 잘 맞출수록 MSE 값은 작겠죠. 즉, MSE 값은 작을수록 알고리즘의 성능이 좋다고 볼 수 있습니다. 수식을 살펴보겠습니다.$$ E = \frac{1}{n}\sum_{i=1}^{n}(y_{i} - \tilde{y_i})^2 $$\(y_i\): \(i\)번째 학습 데이터의 정답\(\tilde{y_i}\): \(i\)번째 학습 데이터로 예측한 값2. 특징2.1. 오차 대비 큰 손실 함수의 증가폭MSE는 오차가 커질수록..
💡 목표 손실 함수의 개념과 알고리즘 학습의 수학적 의미에 대해 알아봅니다. 1. 손실 함수의 개념 손실 함수(Loss Function)는 지도학습(Supervised Learning) 시 알고리즘이 예측한 값과 실제 정답의 차이를 비교하기 위한 함수입니다. 즉, '학습 중에 알고리즘이 얼마나 잘못 예측하는 정도'를 확인하기 위한 함수로써 최적화(Optimization)를 위해 최소화하는 것이 목적인 함수입니다. 그래서 손실 함수를 목적 함수(Objective Function)라고도 부릅니다. 이외에도 손실 함수는 분야에 따라 비용 함수(Cost Function), 에너지 함수(Energy Function) 등으로 다양하게 부르기도 합니다. 손실 함수를 통해 모델 학습 중에 손실(loss)이 커질수록 학..
📚 목차1. 활성화 함수의 개념2. 활성화 함수의 종류 2.1. Sign 함수 2.2. Sigmoid 함수 2.3. Tanh 함수 2.4. Softmax 함수 2.5. ReLU 함수 2.6. Leaky ReLU 함수1. 활성화 함수의 개념활성화 함수(Activation Function)란 퍼셉트론(Perceptron)의 출력값을 결정하는 비선형(non-linear) 함수입니다. 즉, 활성화 함수는 퍼셉트론에서 입력값의 총합을 출력할지 말지 결정하고, 출력한다면 어떤 값으로 변환하여 출력할지 결정하는 함수입니다. 퍼셉트론에 대한 자세한 내용은 이곳을 참고해 주세요. 아래 그림 1에 노란색으로 색칠한 부분이 퍼셉트론의 활성화 함수 부분입니다. 2. 활성화 ..
📚 목차1. 자카드 유사도 개념2. 자카드 유사고 실습1. 자카드 유사도 개념자카드 유사도(Jaccard Similarity)는 \(2\)개의 집합 \(A\), \(B\)가 있을 때 두 집합의 합집합 중 교집합의 비율입니다. 즉, 두 집합이 완전히 같을 때는 자카드 유사도가 \(1\)이며, 두 집합에 교집합이 없는 경우는 \(0\)입니다. 자카드 유사도를 \(J\)라고 할 때 두 집합 간의 자카드 유사도 수식은 아래와 같습니다. $$ J(A, B) = \frac{|A \cap B|}{|A \cup B|} = \frac{|A \cap B|}{|A| + |B| - |A \cap B|} $$ 자카드 유사도 개념을 자연어처리 분야로 그대로 가져오면, 하나의 집합이 곧 하나의 문서가 해당하는 것입니다. ..