본문 바로가기
  • Jetpack 알아보기

분류 전체보기189

[JAVA] 프로그래머스 Lv.2 : 올바른 괄호 예제: s answer "()()" true "(())()" true ")()(" false "(()(" false Solution #1 import java.util.Stack; class Solution { public boolean solution(String s) { char[] array = s.toCharArray(); int count = 0; Stack stack = new Stack(); for (char c : array) { if (c == '(') stack.push(c); else { if (stack.isEmpty()) return false; stack.pop(); } } return stack.isEmpty(); } } Result #1 More Algorithm! 👇👇 gi.. 2021. 6. 23.
[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 : 숫자의 표현 예제: n result 15 4 Solution #1 class Solution { public int solution(int n) { int answer = 0; int index = 1, sum = 0; while (index 2021. 6. 9.
[JAVA] 프로그래머스 Lv.2 : 최댓값과 최솟값 예제: s return "1 2 3 4" " 1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" Solution #1 class Solution { public String solution(String s) { String[] array = s.split(" "); int min = Integer.MAX_VALUE; int max = Integer.MIN_VALUE; for (String n : array) { int value = Integer.parseInt(n); if(min > value) min = value; if(max < value) max = value; } return min + " " + max; } } Result #1 More Algorithm! 👇👇 gi.. 2021. 6. 9.
[JAVA] 프로그래머스 Lv.2 : 피보나치 수 예제: n return 3 2 5 5 제한 조건: n은 1이상, 100000이하인 자연수입니다. Solution #1 class Solution { public int solution(int n) { int[] array = new int[n + 1]; array[0] = 0; array[1] = 1; for (int i = 2; i 2021. 6. 9.
[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.2 : N개의 최소공배수 예제: arr result [2, 6, 8, 14] 168 [1, 2, 3] 6 Solution #1 class Solution { public int solution(int[] arr) { int answer = arr[0]; for (int i = 1; i < arr.length; i++) { int gcd = gcd(answer, arr[i]); answer = answer * arr[i] / gcd; } return answer; } private int gcd(int a, int b) { while (b != 0) { int r = a % b; a = b; b = r; } return a; } } Result #1 More Algorithm! 👇👇 github.com/ggujangi/ggu.pr.. 2021. 6. 8.
[JAVA] 프로그래머스 Lv.2 : JadenCase 문자열 만들기 예제: s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" "For The Last Week" Solution #1 class Solution { public String solution(String s) { StringBuilder answer = new StringBuilder(); boolean isBlank = true; s = s.toLowerCase(); for (char c : s.toCharArray()) { if (c == ' ') { isBlank = true; answer.append(c); } else if (isBlank && (c >= 'a' && c 2021. 6. 7.
[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.