[JAVA] 프로그래머스 Lv.2 : 땅따먹기
예제: land answer [[1,2,3,5],[5,6,7,8],[4,3,2,1]] 16 제한 조건: 행의 개수 N : 100,000 이하의 자연수 열의 개수는 4개이고, 땅(land)은 2차원 배열로 주어집니다. 점수 : 100 이하의 자연수 Solution #1 import java.util.Arrays; class Solution { int solution(int[][] land) { int answer = 0; for (int i = 0; i < land.length - 1; i++) { land[i + 1][0] += Math.max(Math.max(land[i][1], land[i][2]), land[i][3]); land[i + 1][1] += Math.max(Math.max(land[i]..
2021. 6. 23.
[JAVA] 프로그래머스 Lv.2 : 최솟값 만들기
예제: A B answer [1, 4, 2] [5, 4, 4] 29 [1, 2 [3, 4] 10 제한 조건: 배열 A, B의 크기 : 1,000 이하의 자연수 배열 A, B의 원소의 크기 : 1,000 이하의 자연수 Solution #1 import java.util.Arrays; class Solution { public int solution(int[] A, int[] B) { int answer = 0; Arrays.sort(A); Arrays.sort(B); for (int i = 0; i < A.length; i++) { answer += A[i] * B[B.length - i - 1]; } return answer; } } Result #1 More Algorithm! 👇👇 github.com..
2021. 6. 8.
[JAVA] 프로그래머스 Lv.2 : 행렬의 곱셈
예제: arr1 arr2 return [[1, 4], [3, 2], [4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]] [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] Solution #1 class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = new int[arr1.length][arr2[0].length]; for (int i = 0; i < arr1.length; i++) { // arr1 아래로 for..
2021. 6. 8.
[JAVA] 프로그래머스 Lv.1 : 완주하지 못한 선수
🔥 코딩 테스트 연습 > 해시 (Hash) 예제: participant completion return ["leo", "kiki", "eden"] ["eden", "kiki"] "leo" ["marina", "josipa", "nikola", "vinko", "filipa"] ["josipa", "filipa", "marina", "nikola"] "vinko" ["mislav", "stanko", "mislav", "ana"] ["stanko", "ana", "mislav"] "mislav" Solution #1 import java.util.HashMap; import java.util.Map; class Solution { public String solution(String[] participan..
2021. 6. 7.