[프로그래머스 알고리즘 고득점 Kit][그래프][Java] 방의 개수
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/49190 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내가 지나간 점을 내가 지나 온 길이 아닌 방향으로 도달한다면 하나의 방이 생김그렇다면 내가 밟은 점을 기록하고 다시 도달했을 때밟은 점인지 지나온 길인지 아닌지 판별해야함x * row + y 와 같은 인코딩 방식 + Set 으로 진행하려다가class로 풀어보고 싶었음같은 x값 y값이라도 객체가 다르면 다르다고 인식하기 때문에equals 와 hashCode를 오버라이드 해줘서 같은 좌표면 같은 점이라 인식하도록 함문제를 풀 수 있었음여기서 교점이 꼭 점이..
[프로그래머스 알고리즘 고득점 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..