전체 글 46

[TIL] 250622 - 프로그래머스 프로세스

문제 설명운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다.1. 실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅니다.2. 큐에 대기중인 프로세스 중 우선순위가 더 높은 프로세스가 있다면 방금 꺼낸 프로세스를 다시 큐에 넣습니다.3. 만약 그런 프로세스가 없다면 방금 꺼낸 프로세스를 실행합니다. 3.1 한 번 실행한 프로세스는 다시 큐에 넣지 않고 그대로 종료됩니다.예를 들어 프로세스 4개 [A, B, C, D]가 순서대로 실행 대기 큐에 들어있고, 우선순위가 [2, 1, 3, 2]라면 [C, D, A, B] 순으로 실행하게 됩니다.현재 실행 ..

공부기록/TIL 2025.06.22

[TIL] 250531 - 프로그래머스 징검다리

문제 설명출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다.예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 [2, 14, 11, 21, 17] 지점에 놓여있을 때 바위 2개를 제거하면 출발지점, 도착지점, 바위 간의 거리가 아래와 같습니다.제거한 바위의 위치각 바위 사이의 거리거리의 최솟값[21, 17][2, 9, 3, 11]2[2, 21][11, 3, 3, 8]3[2, 11][14, 3, 4, 4]3[11, 21][2, 12, 3, 8]2[2, 14][11, 6, 4, 4]4위에서 구한 거리의 최솟값 중에 가장 큰 값은 4입니다.출발지점부터 도착지점까지의 거리 distance, 바위들이 있는 위치를 담은 ..

공부기록/TIL 2025.05.31

[TIL] 250530 - 프로그래머스 네트워크

문제 설명네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다.컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오.제한사항컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다.각 컴퓨터는 0부터 n-1인 정수로 표현합니다.i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[i][j]를..

공부기록/TIL 2025.05.30

[TIL] 250529 - 프로그래머스 정수 삼각형

문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다.삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요.제한사항삼각형의 높이는 1 이상 500 이하입니다.삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다.입출력 예triangleresult[[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]]30나의 답def solution(tr..

공부기록/TIL 2025.05.29

[TIL] 250528 - 프로그래머스 큰 수 만들기

문제 설명어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다.예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다.문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요.제한 조건number는 2자리 이상, 1,000,000자리 이하인 숫자입니다.k는 1 이상 number의 자릿수 미만인 자연수입니다.입출력 예numberkreturn"1924"2"94""1231234"3"323..

공부기록/TIL 2025.05.28

[TIL] 250528 - 프로그래머스 조이스틱

문제 설명조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다.ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA조이스틱을 각 방향으로 움직이면 아래와 같습니다.▲ - 다음 알파벳▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로)◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서)▶ - 커서를 오른쪽으로 이동 (마지막 위치에서 오른쪽으로 이동하면 첫 번째 문자에 커서) 예를 들어 아래의 방법으로 "JAZ"를 만들 수 있습니다.- 첫 번째 위치에서 조이스틱을 위로 9번 조작하여 J를 완성합니다.- 조이스틱을 왼쪽으로 1번 조작하여 커서를 마지막 문자 위치로 이동시킵니다.- 마지막 위치에서 조이스틱을 아래로 1번 조작하여 Z를 완성합..

공부기록/TIL 2025.05.28

시계열 이상치 탐지 2편 (Prediction Range 기반)

들어가며이전 글에서 Z-score 기반의 간단한 이상치 탐지 방법을 실습해 보았습니다.하지만 단순히 평균과 표준편차를 기준으로 Z-점수를 계산하는 방식은 실제 운영 환경에서 다음과 같은 한계가 있었습니다.야간 시간대처럼 본래 값의 분산이 작을 경우, 작은 변화에도 Z-score가 급격히 튀는 문제“Z = -3.1”과 같은 경고 메시지로는 얼마나 심각한 상황인지 직관적으로 파악하기 어려운 문제과거 이상치가 기준값을 왜곡하여 반복된 이상을 탐지하지 못하는 문제 등등이러한 문제를 해결하기 위해 Booking.com에서는 단순한 Z-score 기반 탐지를 넘어‘예측 범위 기반(Prediction Range)’ 이상치 탐지 방식을 도입하였습니다.이번 글에서는 그 방법을 따라가 보며 Apple 주식 데이터를 이용해..

시계열 이상치 탐지 1편 (z-score기반)

들어가며"실시간 지표 모니터링 자동화" 현업에서 운영되는 다양한 서비스는 수많은 지표(metric)들을 실시간으로 수집하고 분석합니다. 하지만 이 중 어떤 지표가 '이상치'를 보였는지를 사람이 매번 확인하는 것은 불가능합니다. 특히, 장애에 직결될 수 있는 핵심 지표의 경우, 변화가 감지되면 자동 알림을 보내는 시스템이 반드시 필요합니다.하지만 문제는... 무엇을 이상치로 볼 것인가?정해진 기준값(threshold)을 넘는 경우?평소보다 갑자기 튀는 경우?계절성이 있는 지표는 어떻게?이러한 고민은 인턴으로 일하면서도 쉽게 마주할 수 있었던 고민이었습니다.명확한 기준 없이 이상치 탐지는 주관적인 판단에 맡겨지기 쉬운데요, 이 고민을 해결하기 위해 최근 Booking.com에서 소개한 시계열 기반 이상치 탐..

기하평균과 로그변환의 관계

안녕하세요! 이번에 일주일에 최소 1개씩 데이터 지식 글을 써보기로 마음 먹었습니다. 그중 첫번째 글이 되겠네요.첫번째 주제는 기하평균과 자주 사용했던 "로그 스케일링"과 연결 지을 수 있다는 점이 재밌어 작성해보려고 합니다.사실 어렵지도 않고 엄청난 발견도 아니지만 가볍게 글을 써보기엔 좋을 것 같아 주제로 선정하게 되었습니다 ㅎㅎ기하평균이란 무엇일까?기하평균은 여러 수치를 곱한 뒤 n제곱근을 취하는 방식으로 계산하는 평균입니다. 곱셈적 관계를 다룰 때 특히 유용합니다.\[\text{Geometric Mean} = \left( \prod_{i=1}^{n} x_i \right)^{1/n}\] 기하평균은 다음과 같은 상황에서 많이 활용됩니다:연간 성장률 (CAGR, Compound Annual Growth..

정규화 vs 표준화

1. Feature Scaling사용되는 피처들이 모두 비슷한 영향력을 행사하도록 값을 변환해주는 방법임.스케일링을 하지 않으면 중요한 특성임에도 다른 특성에 가중치를 주게됨→ 피처의 스케일이 심하게 차이가 나는 경우 값이 큰 피처가 더 중요하게 여겨질 수 있기 때문더보기[피쳐 스케일링에 영향을 받는 알고리즘들]1. 경사하강법 기반의 알고리즘Linear regression, Logistic Regression, Neural Network 등경사하강법에서 x값은 경사하강법의 단계의 크기에 큰 영향을 미치므로, 경사 하강이 최소값으로 이동하고, 하강 단계가 모든 특징에 대해 동일한 속도로 업데이트 되도록 하기 위해 피처 스케일링이 필요함. 2. 거리 기반 알고리즘KNN, K-means, SVMDistance..