[프로그래머스 - Java] 번 : 가장 큰 수
문제 https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 설명 처음에 순열을 구해서 모든 수를 구한 뒤에 최대 값을 구하면 되지 않을까라고 생각했다. 하지만 순열은 모든 수의 조합을 구하다보니 너무 커서 그런가 런타임 에러가 났다...ㅠㅠ 구글에 검색한 결과 역시 문제의 분류가 정렬이다보니 정렬로 풀면 쉽게 끝나는 문제였다..! 하지만 일반 정렬이 ..
2021. 6. 11.
[프로그래머스 - Java] 징검다리 건너기 (2019 카카오 개발자 겨울 인턴십)
문제 programmers.co.kr/learn/courses/30/lessons/64062 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr 설명 제한 사항을 보면 stones 배열의 크기는 1 이상 200,000 이하, stones 배열 각 원소들의 값은 1 이상 200,000,000 이하인 자연수이다. 한 명 한 명 징검다리를 건너 보내면서 총 몇 명이 징검다리를 건널 수 있는지 확인한다면 굉장히 많은 시간이 걸림. 시간 초과가 나서 효율성에서 탈락함ㅠㅠㅠ 시간을 줄일 방법을 생각해서 문제를 풀어야 한다. 1. 이진 탐색으로 풀이 이진 탐색을 이용해 탐색의 시간을 줄이자! * 이진 탐색과 관련된 포스트는 아래를 확인해주..
2021. 2. 6.
[프로그래머스 - Java] 경주로 건설 (2020 카카오 인턴십)
문제 programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 설명 DFS로 모든 경로를 찾고, 경로마다 비용을 계산하며 최소 비용을 구하면 되겠다 생각도 했..
2021. 1. 31.
[프로그래머스 - Java] 길 찾기 게임 (2019 KAKAO BLIND RECRUITMENT)
문제 programmers.co.kr/learn/courses/30/lessons/42892 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr 설명 전체 코드 import java.util.*; class Solution { public static ArrayList nodeList = new ArrayList(); public static int index = 0; public int[][] solution(int[][] nodeinfo) { // node 생성 for(int i = 0; i < nodeinfo..
2021. 1. 12.