전체 글
-
프로그래머스 - 도둑질 [자바]알고리즘 문제 풀이 2021. 2. 14. 21:17
/* * 2021-02-14 * https://programmers.co.kr/learn/courses/30/lessons/42897?language=java */ package study.programmers.dynamic_programming; public class Thievery { public int solution(int[] money) { // 일자로 생각하고 점화식을 만든 후 // 원형임을 고려하자 // 처음 집은 포함하지 않는 경우 int[] dp = new int[money.length]; dp[0] = 0; dp[1] = money[1]; // 처음 집을 포함하는 경우 int[] dp2 = new int[money.length]; dp2[0] = money[0]; dp2[1] = Ma..
-
프로그래머스 - 등굣길 [자바]알고리즘 문제 풀이 2021. 2. 12. 18:45
/* * 2021-02-12 * https://programmers.co.kr/learn/courses/30/lessons/42898 */ package study.programmers.dynamic_programming; public class RoadToSchool { public int solution(int m, int n, int[][] puddles) { int[][] road = new int[m][n]; // 웅덩이 초기화 for (int[] puddle : puddles) { road[puddle[0] - 1][puddle[1] - 1] = -1; } return search(m, n, 0, 0, road); } public int search(int m, int n, int x, int..
-
프로그래머스 - 정수 삼각형 [Java]알고리즘 문제 풀이 2021. 2. 12. 00:15
/* * 2021-02-12 * https://programmers.co.kr/learn/courses/30/lessons/43105?language=java */ package study.programmers.dynamic_programming; import java.util.ArrayList; import java.util.Comparator; public class IntegerTriangle { public int solution(int[][] triangle) { ArrayList prevList = new ArrayList(); ArrayList sumList = new ArrayList(); prevList.add(0); for (int[] row : triangle) { int i = 0;..
-
프로그래머스 - N 으로 표현 [코틀린]알고리즘 문제 풀이 2021. 2. 7. 20:53
처음 DP 문제를 풀어보았는데 생각하지 못한 부분들 때문에 풀이가 쉽지 않았다. 놓친 부분 NN, NNN 등 의 같은 숫자가 나열되는 부분을 생각하지 않고 사칙연산만 고려함 바로 전에 계산한 값들에 사칙연산만 했음 꼭 문자열을 이용해서 계산하지 않아도 됐음 코드 /* * 2021-02-07 * https://programmers.co.kr/learn/courses/30/lessons/42895 */ fun expressedByN(N: Int, number: Int): Int { val resultList = mutableListOf() var linearNum = 0 for (i in 0..8) { linearNum = linearNum * 10 + N val set = mutableSetOf(linea..
-
자바8 - 다양한 정렬 방법카테고리 없음 2021. 1. 24. 23:09
Comparator 를 이용한 정렬익명 클래스를 이용한 정렬람다를 활용한 정렬comparing 메소드를 이용한 정렬메소드 참조를 이용한 정렬결론참조JDK 1.8 이상 사용을 기준으로 하는 내용입니다.class Apple{ private int weight; Apple(int weight) { this.weight = weight; } public int getWeight() { return weight; } public void setWeight(int weight) { this.weight = weight; } }위와 같은 Apple 클래스를 이용하여 간단한 정렬을 하겠습니다.List list = Arrays.asList(new Apple(200), new Apple(100), new Apple(150..
-
프로그래머스 - 여행 경로알고리즘 문제 풀이 2021. 1. 17. 00:46
/* * 2021-01-17 * https://programmers.co.kr/learn/courses/30/lessons/43164?language=kotlin */ fun travelRoute(tickets: Array): Array { // route 를 맵으로 생성 val routeMap = mutableMapOf() tickets.forEach { val start = it[0] val dest = it[1] val routeString = "$start-$dest" val route = routeMap[routeString] if (route == null) { routeMap[routeString] = Route(start, dest, 0, emptyList(), 1) } else { rou..
-
프로그래머스 - 단어 변환알고리즘 문제 풀이 2021. 1. 2. 00:14
/* * 2021-01-01 * https://programmers.co.kr/learn/courses/30/lessons/43163 */ fun wordConversion(begin: String, target: String, words: Array): Int { // words 에 target 이 없는 경우 0 반환 if (!words.any { it == target }) { return 0 } // begin 을 포함한 allWords 생성 val allWords = words.plus(begin) // 각 단어별 노드 생성 val nodeMap = allWords.associate { it to WordNode(it) } nodeMap.forEach { (word, node) -> // 한글자만..