[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming))][Java] 정수 삼각형
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr위에서부터 내려온다고 가정하면 바로 아래 왼쪽 값이 더 크다고 해서 그 경로가 최대로 가는 경로가 아닐 수 있음그래서 생각하기 어려움밑에서부터 올라간다고 생각하면특정 노드를 기준으로 최대가 되려면 밑에 2개의 값 중 큰 것만 고르면됨그렇게 맨 밑에서 부터 큰 값들을 골라서 위로 올라가면 최종엔 최대 합만 남음class Solution { public int solution(int[][] triangle) { int N = triangle..
[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming))][Java] 등굣길
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr현재 서 있는 곳으로 올 수 있는 방법은1. 왼쪽에서 오른쪽으로 한칸(numOfShortestPath[x-1][y])2. 위쪽에서 아래쪽으로 한칸(numOfShortestPath[x][y-1])2개의 합이 현재 서 있는 곳으로 올 수 있는 경우의 수중간 block 된 곳은 continue이 방법을 시작 점 부터 하나씩 채워나간다.class Solution { final int MOD = 1_000_000_007; public in..
[LeetCode][Java][영어공부] 1768. Merge Strings Alternately
·
알고리즘 & 자료구조/문제 풀이
https://leetcode.com/problems/merge-strings-alternately/description/?envType=study-plan-v2&envId=leetcode-75 Merge Strings Alternately - LeetCodeCan you solve this real interview question? Merge Strings Alternately - You are given two strings word1 and word2. Merge the strings by adding letters in alternating order, starting with word1. If a string is longer than the other, append the additional..
[프로그래머스 알고리즘 고득점 Kit][이분탐색][Java] 징검다리
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/43236 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krhttps://www.acmicpc.net/problem/2110백준의 공유기 설치와 동일한 문제하지만 징검다리가 문제는 억지로 끼워맞춘 느낌이라 이해하기 쉽지 않았음 1. 정답 코드문제를 조금 이해하기 쉽게 나의 언어로 바꿔 말한다면,임의의 위치의 바위를 n개 부쉈을 때시작점, 바위들, 도착지 사이의 거리들을 나열할 수 있다.그 거리들 중에는 항상 최소가 되는 거리가 있는데,이 문제는 그 최소 거리가 최대가 되게 만드는 문제다.예를 들어,출발지점 - 바..
[프로그래머스 알고리즘 고득점 Kit][그래프][Java] 순위
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 정답 코드 뭔가 스태틱 변수를 안쓰고 메서드로 분리하려다 보니 복잡해졌는데내가 이긴 사람 수와 내가 진 사람 수의 합이 나를 제외한 n-1 과 같으면 순위를 알 수 있다.그래서 2개의 단방향 그래프를 기록하고 bfs 2번을 돌리는 식으로 계산했다.모든 노드의 거리를 알 수 있는 플로이드 워셜로도 풀 수 있다.import java.util.*;class Solution { public int solution(int n, int[][] resul..
[프로그래머스 알고리즘 고득점 Kit][힙(Heap)][Java] 더 맵게
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/parts/12117 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 정답 코드작은 것부터 활용해야하기 때문에우선순위큐를 활용했음처음에 틀렸을 땐 2개씩 꺼내야하는데!pq.isEmpty() 로 종료조건을 걸어서 틀림import java.util.*;class Solution { public int solution(int[] scoville, int K) { PriorityQueue pq = new PriorityQueue((s1, s2) -> { return Long.compare(..