목록전체 글 (159)
Priceless

그리디 알고리즘으로 푸는 문제 그리디 알고리즘으로 발제를 진행한 후, 원리나 작동 방식은 이해했지만 정작 코딩 경험이 부족했다 이해한 부분을 코드로 풀어쓰는 게 쉽지 않아 쉬운 문제부터 차근차근 풀어보기로 했다 0을 입력 받기 전까지 수 3개를 입력 받는다 최대 기간(p) 중 연속으로 사용 가능한 날짜(l)을 입력 받고 전체 휴가 기간(v)을 입력 받는다 우선 전체 휴가 기간 중 최대 기간만큼 나눈 몫만큼은 사용 가능한 것이 보장되어 있으니 나눈 몫에 연속으로 사용가능한 날짜를 곱해 사용 가능한 날짜를 저장한다 그 다음 몫으로 나눈 나머지에 대해 연속으로 사용 가능한 날짜보다 큰 경우 최대로 연속으로 사용 가능한 날짜를 더하고 연속으로 사용 가능한 날짜보다 작은 경우 남은 날짜만큼 더하서 완성한다 // ..

Ch.4 다양한 분류 알고리즘 4-1. 로지스틱 회귀 로지스틱 회귀 로지스틱 회귀: 선형 방정식을 학습하는 분류 모델 시그모이드 함수(로지스틱 함수)를 통해 클래스 확률을 출력 로지스틱 회귀는 계수의 제곱을 규제(L2 규제) 소프트맥스: 지수 함수를 모두 계산해 더한 후 그 합을 각 지수 함수에 나눈 것 출력 결과의 합이 1이다 4-2. 확률적 경사 하강법 점진적인 학습 경사 하강법: 목적 함수를 낮추기 위해 조금씩 내려오는 방식 조금씩 내려와야 가장 낮은 목적 함수를 찾을 수 있다 크게 내려오면 목적 함수가 오히려 올라갈 수 있다 확률적 경사 하강법: 경사 하강법에서 전체 샘플을 사용하지 않고 하나의 샘플을 훈련 세트에서 랜덤하게 골라 가장 확률이 높은 답을 구하는 방법 점진적 학습 또는 온라인 학습이..

string과 char를 잘 이용하면 되는 문제 string으로 입력을 받은 뒤 정렬 과정을 거쳐 하나씩 출력하면 된다 숫자를 입력 받아 자릿수마다 나누는 방식으로 접근할 수도 있지만 확실히 자릿수를 나눠서 하는 문제는 문자열로 해결하는 것이 더욱 수월하고 빠르게 해결할 수 있는 방법인 듯하다 // baekjoon 1427 #include #include #include using namespace std; // codes for fast I/O void init(){ cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(false); } int main(){ init(); string input; cin >> input; unsigned long len = inpu..