프로그래머스 문제: 요격 시스템 (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"인 구간만 찾는 것이 아니라, 조건을 만족하는 '최적의 구간'을 정확히 하나만 골라야 합니다. 예제 하나로 전체 문제를 시각적으..
프로그래머스: 과제 진행하기 (Python) 문제 ✔️ 문제 설명 루는 여러 개의 과제를 정해진 시간에 맞춰 진행하려고 합니다. 규칙은 다음과 같습니다: 각 과제는 반드시 정해진 시각에 시작합니다. 진행 중인 과제가 있어도 새 과제 시작 시간이 되면 즉시 멈추고 새 과제를 시작합니다. 멈춘 과제는 스택(Stack)에 보관합니다. 시간이 남으면, 가장 최근에 멈춘 과제부터 이어서 진행합니다. 모든 과제를 끝낸 순서대로 이름을 배열로 반환합니다. ✔️ 입력 예시 plans = [ ["art", "12:00", "50"], ["math", "12:20", "30"], ["english",..
프로그래머스 문제명 python 문제 문제 격자 보드에서 로봇이 상·하·좌·우 중 한 방향을 선택하면 장애물(D) 또는 보드 끝에 부딪히기 직전까지 미끄러집니다. 시작점 R에서 목표 G에 정확히 멈추어 도달하는 최소 이동 횟수를 구하는 문제입니다. 도달 불가능하면 -1을 반환합니다. 테스트케이스 1) ["...D..R", ".D.G...", "....D.D", "D....D.", "..D...."] # 결과: 7 2) [".D.R", "....", ".G..", "...D"] # 결과: -1 문제 작동원리 슬라이딩은 “다음 칸이 보드 안이고 장애물이 아니면 계속 전진, 아니면 바로 직전 칸에서 정지”라는..
프로그래머스 혼자서 하는 틱택토 python문제 틱택토 게임판이 주어졌을 때, 이 게임판이 실제 규칙을 지켜서 진행된 상황일 수 있는지를 판별하는 문제입니다. 선공은 항상 `"O"` 후공은 `"X"` 같은 표시가 가로, 세로, 대각선으로 3개 연속 나오면 게임이 끝남 게임이 끝났는데도 말을 더 두는 경우는 불가능 `"O"`와 `"X"`의 개수 차이는 최대 1만 가능 테스트케이스 board 결과 설명 ["O.X", ".O.", "..X"] 1 번갈..
프로그래머스 호텔 대실 155651 python문제문제 여러 예약 구간이 [시작, 종료] 형태로 주어집니다. 한 번 사용한 객실은 **퇴실 뒤 10분 청소**가 끝난 다음에야 다시 사용할 수 있습니다. 모든 예약을 처리하기 위해 필요한 **최소 객실 수**를 구하는 문제입니다.테스트케이스 [["15:00","17:00"],["16:40","18:20"],["14:20","15:20"],["14:10","19:20"],["18:20","21:20"]] → 3 [["09:10","10:10"],["10:20","12:20"]] → 1 [["10:20","12:30"],["10:20","12:30"],["10:20","12:30"]] → 3문제 작동원리시간축 위에서 **동시에 진행 중인 ..
백준 배열 복원하기 16967 Python문제 크기가 H × W인 배열 A와 정수 X, Y가 있습니다. 배열 B는 크기가 (H+X) × (W+Y)이고, 이는 A와 A를 X칸 아래, Y칸 오른쪽으로 이동시킨 배열을 겹쳐서 만든 것입니다. 즉, \(B[i][j]\)는 다음 중 하나입니다. 두 배열 모두 포함되지 않으면 0 두 배열 모두 포함되면 \(B[i][j] = A[i][j] + A[i-X][j-Y]\) 한 배열만 포함되면 \(B[i][j] = A[i][j]\) 또는 \(A[i-X][j-Y]\) 문제는 B와 X, Y가 주어졌을 때 A를 복원하는 것입니다.테스트케이스 1입력2 4 1 11 2 3 4 05 7..
백준 배열 복원하기 16967 C++문제 크기가 H × W인 배열 A와 정수 X, Y가 있습니다. 배열 B는 크기가 (H+X) × (W+Y)이고, 이는 A와 A를 X칸 아래, Y칸 오른쪽으로 이동시킨 배열을 겹쳐서 만든 것입니다. 즉, \(B[i][j]\)는 다음 중 하나입니다. 두 배열 모두 포함되지 않으면 0 두 배열 모두 포함되면 \(B[i][j] = A[i][j] + A[i-X][j-Y]\) 한 배열만 포함되면 \(B[i][j] = A[i][j]\) 또는 \(A[i-X][j-Y]\) 문제는 B와 X, Y가 주어졌을 때 A를 복원하는 것입니다.테스트케이스 1입력2 4 1 11 2 3 4 05 7 9 ..
- Total
- Today
- Yesterday
- 알고리즘문제풀이
- 동적계획법
- 알고리즘기초
- 파이썬
- 코딩테스트
- 코딩 테스트
- 문제풀이
- 코딩
- 그래프 탐색
- 알고리즘 문제풀이
- 브루트포스
- C++
- c++알고리즘
- 문자열처리
- 객체지향
- 백준
- C++ 알고리즘
- c언어
- 알고리즘
- 동적 계획법
- 인접 행렬
- 파이썬코딩
- dfs
- 그리디알고리즘
- Python
- 문제 풀이
- 프로그래밍
- 그리디
- python 알고리즘
- DP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |