본문 바로가기

Programing30

#6 짝지어 제거하기 (lv.2) | 스택(Stack) 문제 설명짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다.예를 들어, 문자열 S = baabaa 라면b aa baa → bb aa → aa →의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다.제한사항문자열의 길이 : 1,000,000이하의 자연수문자열은 모두 소문자로 이루어져 있습니다.Stack St.. 2026. 3. 30.
#5 최소 직사각형 (lv.1) | 2차원 배열 문제 설명명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다.아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다.가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기는 4000(=80 x 50)입니다.모든 명함의 가로 길이와 세로 길이를 나타내는 .. 2026. 3. 30.
#4. 멀리뛰기 (lv.2) | DP [Dynamic Programming(동적 계획법)] 문제설명효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는(1칸, 1칸, 1칸, 1칸)(1칸, 2칸, 1칸)(1칸, 1칸, 2칸)(2칸, 1칸, 1칸)(2칸, 2칸)의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다.Dynamic Programming - 동적계획법DP는 큰 문제를 작은 문제로 나누고, 한 번 계산한 결과를 저장해 다시 사용하는 방법이다.아래 블로그를 통해 더 자세한 내용을 확.. 2026. 3. 24.
#3 크기가 작은 부분 문자열 (lv.1) | 완전탐색 문제 설명숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다.1. 시간복잡도/ 공간복잡도 O(n*m) def solution(t, p): answer = 0 p_길이=len(p) t_길이=len(t) 배열 = [] for start in range(t_길이): end .. 2026. 3. 24.
[speakLogs] #0 개인프로젝트 기획 이제 뭐 하는게 다 끝나서 개인프로젝트를 하려한다. 일단 CLI + LLM을 합쳐서 서비스를 만들려한다. speaklogs는 개발 중 발생하는 로그와 에러 메시지를 분석하여사람이 이해하기 쉬운 자연어로 설명해주는 CLI 기반 도구이다. node.js와 Typescript로 개발을 할 예정이다. 전체 흐름은 로그 입력 → 분석 → 해석 → 출력 만약 분석과정에서 Rule에 없는 에러라면 LLM을 호출해서 해석할 것 같다.전부다 LLM에 맡기고 싶지만 그렇기에는 돈이 없기 때문에 일단 GPT기반으로 폴더구조를 만들면 해당 폴더구조가 나온다.speaklog/├── src/│ ├── cli/│ │ └── index.ts # CLI entry│ ││ ├── core/│ │ .. 2026. 3. 23.
scikit-learn으로 시험점수 예측하기 - 선형회귀(Linear Regression) Scikit-learn파이썬 기반의 오픈소스 머신러닝 라이브러리데이터 분석과 예측모델을 구축하기 위한 간결하고 효율적인 도구 모음을 제공한다. 선형회귀를 왜 사용하는가공부시간 - 시험점수 이 둘의 관계는 '공부를 많이 할 수록 점수가 오른다' 라는 직선의 관계를 가지고 있다.이럴 때 사용하는 것이 선형회귀(Linear Regression)이다. 데이터 준비import numpy as npX = np.array([[1], [2], [3], [4], [5], [6], [7], [8], [9], [10]])y = np.array([40, 45, 50, 55, 60, 65, 70, 78, 85, 90])x -> 공부한 시간 (입력값 == Feature)y -> 시험 점수 (정답 데이터 == Label) 학습.. 2026. 3. 23.