전체 글

전체 글

    [Programmers] 완전 탐색 - 모의고사

    문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..

    [Programmers] 해시 - 위장

    프로그래머스 위장: https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 실행 코드 def solution(clothes): answer = 0 kinds = list(set(list(zip(*clothes))[1])) # 옷 종류 clothes_dict = dict.fromkeys(kinds, []) # dictionary 생성(key: 옷 종류, value: 해당 종류의 옷들) clothe_kinds_lst = list(set(list(zip(*clothes))[1])) clothe_kinds_all = list(zip(*clothes))[1] for k in kinds: clothes_dict[..

    [Programmers] 힙(Heap) - 더 맵게

    문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovil..

    [Programmers] 스택/큐 - 프린터

    https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나..

    [Programmers] 탐욕법(Greedy) - 체육복

    코딩테스트 연습 - 체육복 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 ..

    [시계열] Exponential Smoothing (지수 평활법)

    [시계열] Exponential Smoothing (지수 평활법)

    해당 강의노트는 김성범 교수님의 Exponential Smoothing (지수 평활법) 강의를 기반으로 작성했음을 밝힙니다. 구간 평균법 $L_t = {D_t + D_(t-1) + ... + D_(t-N+1)}/N$ 과거 시점의 일정기간의 평균(단순 평균)으로 다음 시점을 예측 구간 평균법이 적절한 case Trend나 Seasonality variables과 같은 일정 패턴없이 변하는 level을 가진 데이터 (질문) 일정 패턴없이 변하는 level이 cycle인지 아니면 random한건지? 어떤 case를 의미하는 것인지 궁금 구간 평균법의 한계 과거 n개의 데이터에 동일한 가중치를 준다. 예시: 현재 시점 t를 기준으로 n=3까지의 과거 데이터를 고려한다고 가정해보자. 구간평균법은 t, t-1, t..

    [Programmers] for 문과 if문을 한번에

    문제 설명 정수를 담은 리스트 mylist를 입력받아, 이 리스트의 원소 중 짝수인 값만을 제곱해 담은 새 리스트를 리턴하는 solution함수를 완성해주세요. 예를 들어, [3, 2, 6, 7]이 주어진 경우3은 홀수이므로 무시합니다. 2는 짝수이므로 제곱합니다.6은 짝수이므로 제곱합니다.7은 홀수이므로 무시합니다. 따라서 2의 제곱과 6의 제곱을 담은 리스트인 [4, 36]을 리턴해야합니다. 제한 조건mylist는 길이가 100이하인 배열입니다.mylist의 원소는 1이상 100 이하인 정수입니다. Solution list comprehension def solution(mylist): answer = [] answer = [i**2 for i in mylist if i % 2 == 0] return..

    [시계열] Time Series Regression - Part 3

    [시계열] Time Series Regression - Part 3

    본 강의노트는 김성범 교수님의 Time Series Regression - Part 3를 바탕으로 작성했음을 밝힙니다. Modeling Seasonal Variations Using Binary variables Binary variables: 0 아니면 1의 값을 가지는 변수 Example - Modeling Seasonal Variations Using Binary variables 14년: 1년이 12개월이므로 t는 1~168 Increasing Seasonal ⇒ log 변환 필요, 복원해줄땐 exlog 변환 필요 이를, 모델링할 수 있는 형태로 바꾼다면? 최소제곱법을 사용한 다중회귀모델 여기서, Binary variable은 M에 해당한다. Trend성분은 Linear한 B1, B2까지만 해당한..