코틀린 programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr class Solution { fun solution(expression: String): Long { var answer: Long = 0 val case = listOf( listOf("-", "+", "*"), listOf("-", "*", "+"), listOf("+", "-", "*"), listOf("+", "*", "-"), listOf("*", "+",..
코틀린 programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr class Solution { fun solution(numbers: IntArray, hand: String): String { var answer = "" val map = mutableMapOf( 1 to Pair(0, 0), 2 to Pair(0, 1)..
매 순간마다 가장 최적의 답을 선택하여 최종의 답을 도출하는 방법 매 순간의 최적해가 문제에 대한 최적해이다. 한번의 선택이 다음 선택에는 무관하다. 문제를 해결하기 위한 아이디어를 직관적으로 찾고 그 아이디어의 정당성을 검토할 수 있어야 한다. 1. 거스름 돈 문제 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재 손님에게 거슬러 주어야 할 돈이 N원일 때 거슬러 주어야 할 동전의 최소 개수를 구하기 (단, 거슬러 줘야 할 돈 N은 항상 10의 배수) 해결 방안 가장 큰 단위부터 돈을 거슬러 준다. why? 큰 단위가 항상 작은 단위의 배수이다! 500원을 각각 100원 5개, 50원 10개, 10원 50개 400원 동전이 있다면 800원을 거슬러 주는데 문제가..
문제 해설 전체 코드 class Solution { public int solution(String s) { int answer = s.length(); if (s.length() == 1) { return 1; } for (int i = 1; i result.length()) { answer = result.length(); } } return answer; } // 압축된 문자열 만들기 private String compression(int size, String s) { List subStrings = getSubString(size, s); String result = ""; String temp = subStrings.get(0); int count = 1; for (int i = 1; i < ..