프로그래머스 문제명: 삼각 달팽이문제📝 문제 설명정수 n이 주어졌을 때, 높이와 밑변이 n인 정삼각형 형태의 2차원 배열을 생각합니다.맨 위 꼭짓점에서 시작하여 반시계 방향으로 달팽이 채우기를 진행합니다.달팽이 채우기 순서는 다음과 같습니다: 아래 방향 ↓ 오른쪽 방향 → 왼쪽 위 대각선 ↖(이 순서를 반복)그리고 이 삼각형 모양 배열을 한 줄 배열로 평탄화(flatten)하여 반환합니다.테스트케이스 n result 4 [1,2,9,3,10,8,4,5,6,7] 5 [1,2,12,..
프로그래머스 테이블 해시 함수 python 문제 문제 설명 완호가 관리하는 데이터베이스 테이블은 정수형 컬럼들로만 구성되어 있으며, 행은 튜플을 나타내고, 열은 컬럼을 의미합니다. 첫 번째 컬럼은 기본키 역할을 하며, 모든 튜플에 대해 값이 중복되지 않습니다. 완호가 정의한 해시 함수는 다음과 같은 규칙을 가집니다. 입력값: col, row_begin, row_end 정렬 규칙: col번째 컬럼 기준으로 오름차순 정렬, 동일하면 첫 번째 컬럼은 내림차순 정렬 정렬된 결과에서 i번째 행(1부터 시작)에 대해 \( S_i = \sum (컬럼값 \mod i) \) 최종 해시 값 = \( S_{row\_begin} \oplus S_{row\_begin+1..
프로그래머스 시소 짝꿍 python 문제 🔹 문제 설명 놀이터에 시소가 하나 있으며, 좌석은 각각 중심으로부터 2m, 3m, 4m 떨어져 있습니다. 두 사람이 마주 보고 앉을 때, 각자 무게 × 거리 값이 동일하면 균형을 이룹니다. 이때 두 사람을 시소 짝꿍이라고 정의합니다. 주어진 사람들의 무게 배열 weights에서 가능한 모든 짝꿍 쌍의 개수를 구하는 문제입니다. 🔹 테스트케이스 입력: [100, 180, 360, 100, 270] 출력: 4 가능한 짝꿍 쌍: (100, 100) (180, 360) (180, 270) (270, 360) 문제..
📘 프로그래머스 디펜스 게임 python ✅ 문제 요약 n명 병사로 적의 공격을 순서대로 막아야 함 매 라운드마다 적 enemy[i]명이 등장함 병사로 막으면 n -= enemy[i] 병사가 부족하면 무적권을 써서 병사 소모 없이 막을 수 있음 무적권은 k번만 사용 가능 게임오버 조건: 병사도 없고, 무적권도 없고, 막아야 할 적이 있음 🎯 목표 무적권을 적절히 사용해서 가능한 많은 라운드를 버텨야 한다. 🔍 핵심 아이디어 요약 "병사가 모자라는 순간, 지금까지 막았던 적 중 가장 큰 enemy[i]에 무적권을 소급 적용..
프로그래머스 귤 고르기 python문제문제경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다.예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면, 크기가 1, 4인 귤을 제외한 여섯 개의 귤을 상자에 담으면, 귤의 크기의 종류가 2, 3, 5로 총 3가지가 되며 이때가 서로 다른 종류가 최소일 때입니다.경화가 한 상자에 담으려는 귤의 개수 k와 귤의 크기를 담은 배열 tangerine이 매개변수로 주어집니다. 경화가..
프로그래머스 숫자 변환하기 Python 숫자 변환하기 문제 📌 문제 설명 자연수 x를 시작점으로 하여 y를 만들고자 합니다. 사용할 수 있는 연산은 다음 세 가지입니다: x에 n을 더함 → x + n x에 2를 곱함 → x * 2 x에 3을 곱함 → x * 3 이 연산들을 반복하여 x를 y로 변환하고자 할 때, 필요한 최소 연산 횟수를 구하는 문제입니다. 만약 어떤 방법으로도 y를 만들 수 없다면, -1을 반환해야 합니다. 테스트케이스 x y n 반환값..
프로그래머스 문제: 요격 시스템 (Python) 문제 ● 문제 설명 A 나라가 B 나라의 군사 기지를 폭격하기 위해 폭격 미사일을 발사합니다. B 나라에는 이를 막기 위한 요격 시스템이 존재하는데, 이 시스템은 특정한 방식으로 작동합니다. A 나라의 폭격 미사일은 x축에 평행한 직선 구간으로 날아갑니다. 이때 각 미사일은 (s, e)라는 두 점으로 표현됩니다. (s, e)는 개구간입니다. 즉, s와 e에서는 요격이 불가능하고, 그 사이 구간에서만 요격 가능합니다. B 나라의 요격 미사일은 수직으로 발사됩니다. ..
프로그래머스 두 원 사이의 정수 쌍 Python 문제 문제 설명 2차원 평면에서 중심이 (0, 0)인 두 개의 원이 주어집니다. 이 두 원의 반지름은 각각 정수 \( r_1 \)과 \( r_2 \)이며, 항상 \( 1 \leq r_1 두 원 사이의 공간에 존재하는 모든 격자점(즉, \( x \)와 \( y \)가 모두 정수인 점)의 개수를 구하는 문제입니다. 단, 두 원 위에 있는 점들도 포함해서 세야 합니다. 입력 정수 \( r_1, r_2 \) 출력 조건을 만족하는 격자점 \( (x, y) \)의 개수 테스트케이스 r1 r2 ..
연속된 부분 수열의 합 — 슬라이딩 윈도우 방식으로 완전하게 설명 문제 핵심 요약 우리가 해결해야 할 문제는 다음과 같습니다. 어떤 정수 수열이 주어졌을 때, 그 안에서 연속된 일부 구간을 선택해서 그 안의 숫자들을 모두 더했을 때, 그 합이 정확히 k가 되는 구간을 찾는 것입니다. 단, 조건이 아주 중요합니다. 합이 k인 구간이 여러 개 있다면, 가장 짧은 구간을 선택합니다. 길이까지 같은 구간이 여러 개 있을 경우, 가장 앞쪽에 있는 구간을 선택합니다. 즉, 우리는 단순히 "합이 k"인 구간만 찾는 것이 아니라, 조건을 만족하는 '최적의 구간'을 정확히 하나만 골라야 합니다. 예제 하나로 전체 문제를 시각적으..
- Total
- Today
- Yesterday
- 문제풀이
- 프로그래밍
- 알고리즘문제풀이
- 그리디알고리즘
- Python
- 백준
- 동적계획법
- DP
- 그리디
- 문제 풀이
- 코딩테스트
- 알고리즘
- C++ 알고리즘
- 파이썬코딩
- dfs
- 파이썬
- 코딩
- 그래프 탐색
- 문자열처리
- 브루트포스
- 동적 계획법
- 인접 행렬
- 알고리즘기초
- 코딩 테스트
- C++
- python 알고리즘
- c언어
- 객체지향
- c++알고리즘
- 알고리즘 문제풀이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |