[프로그래머스/LV2] 조이스틱 - 그리디(Java)
[탐욕법(Greedy)] 조이스틱 🙋♂️ 들어가며 이번 문제는 정방향(오른쪽으로) vs 반대방향(왼쪽으로) 생각하는게 참 어려운 문제였다. ✅ 코드 class Solution { public int solution(String name) { int cnt = 0; int N = name.length(); ...
[탐욕법(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[]...
🙋♂️ 들어가며 조합을 볼까? 아래 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 을 반환하고 종료 ...