subset
🙋♂️ 들어가며 이번 시간에는 subset을 구하는 방법을 2개로 알아볼 것이다 back-tracking vs bit-masking 배열이 이렇게 있다고 가정하자 아래 Java 코드는 combination 관점에서 접근한 핵심 풀이입니다. 입력 조건과 시간·공간 복잡도를 함께 고려하여 불필요한 연산을 줄이는 방향으로 설계했습니다. int[]...
🙋♂️ 들어가며 이번 시간에는 subset을 구하는 방법을 2개로 알아볼 것이다 back-tracking vs bit-masking 배열이 이렇게 있다고 가정하자 아래 Java 코드는 combination 관점에서 접근한 핵심 풀이입니다. 입력 조건과 시간·공간 복잡도를 함께 고려하여 불필요한 연산을 줄이는 방향으로 설계했습니다. int[]...
[2025 프로그래머스 코드챌린지 1차 예선] 비밀 코드 해독 🙋♂️ 들어가며 이번 문제는 조합(백트랙킹)을 사용하여 풀면 되는 문제였다. ✅ 코드 class Solution { static int answer; public int solution(int n, int[][] q, int[] ans) { a...
🙋♂️ 들어가며 조합을 볼까? 아래 Java 코드는 back-tracking 관점에서 접근한 핵심 풀이입니다. 입력 조건과 시간·공간 복잡도를 함께 고려하여 불필요한 연산을 줄이는 방향으로 설계했습니다. n = 10 r = 5 위 구현은 combination의 제약 조건을 만족하도록 자료구조 선택과 반복 범위를 최적화한 결과입니다. ${}{...
[월간 코드 챌린지 시즌3] n^2 배열 자르기 🙋♂️ 들어가며 이번 문제는 수학적 사고가 필요한 문제였다. 우선 내가 생각한 방법은 다음과 같다. 접근 방법 n = 5 가정 1 2 3 ...
[2022 KAKAO TECH INTERNSHIP] 두 큐 합 같게 만들기 🙋♂️ 들어가며 이번 문제는 총 2가지 풀이다. queue 그리고 투포인터 먼저 queue로 풀때는 다음 조건들을 생각해야겠다. q1, q2를 설정하고 합이 일치할때까지 구한다 (sum1, sum2) % 2 == 1 이면 -1 을 반환하고 종료 ...
[2021 Dev-Matching: 웹 백엔드 개발자(상반기)] 행렬 테두리 회전하기 ✅ 코드 아래 Java 코드는 back-tracking 관점에서 접근한 핵심 풀이입니다. 입력 조건과 시간·공간 복잡도를 함께 고려하여 불필요한 연산을 줄이는 방향으로 설계했습니다. class Solution { static int[] dr = {0,1,...
프로그래머스 LV2 이모티콘 할인행사 문제를 Java로 해결한 풀이입니다. 백트래킹 알고리즘을 활용하여 모든 할인율 조합을 탐색하고 멤버십 가입과 이모티콘 판매액을 최적화하는 방법을 설명합니다.
프로그래머스 LV2 방문 길이 문제를 Java로 해결한 풀이입니다. 구현 알고리즘을 활용하여 3차원 배열로 방문 기록을 관리하고 처음 걸어본 길이의 길이를 구하는 방법을 설명합니다.
프로그래머스 LV2 프렌즈4블록 문제를 Java로 해결한 풀이입니다. 구현 알고리즘을 활용하여 블록을 아래로 떨어뜨리는 수직낙하를 구현하고 2x2 블록을 제거하는 방법을 설명합니다.
프로그래머스 LV3 파괴되지 않은 건물 문제를 Java로 해결한 풀이입니다. 누적합(차분) 알고리즘을 활용하여 시간 복잡도를 최적화하고 건물의 내구도를 효율적으로 계산합니다.