[프로그래머스/LV2] 괄호 회전하기 - 스택(Java)
[월간 코드 챌린지 시즌2] 괄호 회전하기 🙋♂️ 들어가며 이번 문제는 각 idx별로 N길이만큼 보는 stack 응용 문제다 해당 코드는 stack 구현으로 작성되어 라이브러리 X 다 먼저 생각해볼 조건은 다음과 같다. 1. 여는 괄호일 때 -> 무조건 추가 2. 닫는 괄호일 때 2-1. 스택이 빈칸이라면 불가능 -> 반례 )...
[월간 코드 챌린지 시즌2] 괄호 회전하기 🙋♂️ 들어가며 이번 문제는 각 idx별로 N길이만큼 보는 stack 응용 문제다 해당 코드는 stack 구현으로 작성되어 라이브러리 X 다 먼저 생각해볼 조건은 다음과 같다. 1. 여는 괄호일 때 -> 무조건 추가 2. 닫는 괄호일 때 2-1. 스택이 빈칸이라면 불가능 -> 반례 )...
[탐욕법(Greedy)] 조이스틱 🙋♂️ 들어가며 이번 문제는 정방향(오른쪽으로) vs 반대방향(왼쪽으로) 생각하는게 참 어려운 문제였다. ✅ 코드 class Solution { public int solution(String name) { int cnt = 0; int N = name.length(); ...
[Summer/Winter Coding(~2018)] 숫자 게임 🙋♂️ 들어가며 이번 문제는 그리디를 생각해보았는데 그게 아니더라 그리디가 아닌 이유로 반례는 다음과 같다 A = {8, 8, 2, 2}; B = {1, 1, 8, 8}; res = 2; 이건 two-pointer 로 풀 수 있겠다 ✅ 코드 import java.util.A...
등굣길 🙋♂️ 들어가며 이번 문제는 경로의 수를 구하는 문제로 예외처리가 중요한 문제였다. 처음에 back_tracking으로 재귀호출을 생각해보았는데 역시 되지 않겠다 why? 총 이동 횟수는 N = (m-1) + (n-1) 이때 경로의 갯수 N C (m-1) 198 C 99 약 9 * 10^58 그래서 back_tracking ...
단속카메라 🙋♂️ 들어가며 이번 문제는 진출점을 기준으로 정렬하여 첫카메라 위치를 설정하고 현재 카메라로 못 찍으면 위치를 갱신하며 풀 수 있겠다. ✅ 코드 import java.util.Arrays; class Solution { public int solution(int[][] routes) { int answe...
[2021 카카오 채용연계형 인턴십] 거리두기 확인하기 🙋♂️ 들어가며 이번 문제는 조건문이 까다로운 문제였다. (1,1) (1,3) (2,2) (3,1) (3,3) 대각선일 경우에 중앙을 cr, cc로 간주하고 사방에 있는 4개의 좌표들이 각각 nr, nc라고 하자. 이때 min, max를 사용하면 무조건...
외판원 순회 2 🙋♂️ 들어가며 이번 시간에는 외판원 순회 TSP 알고리즘에 대한 문제이다 해당 문제는 순열탐색으로 푼다면 N <= 10 이라서 O(N * N!) 로 풀 수 있다. 흐름은 다음과 같이 진행되겠다 ✅ 코드 (순열) package boj; import java.io.IOException; import java.io....
🙋♂️ 들어가며 이번 시간에는 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의 제약 조건을 만족하도록 자료구조 선택과 반복 범위를 최적화한 결과입니다. ${}{...