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

알고리즘120

[JAVA] 프로그래머스 Lv.1 : 폰켓몬 🔥 찾아라 프로그래밍 마에스터 예제: nums result [3,1,2,3] 2 [3,3,3,2,2,4] 3 [3,3,3,2,2,2] 2 제한 조건: nums는 폰켓몬의 종류 번호가 담긴 1차원 배열입니다. nums의 길이(N)는 1 이상 10,000 이하의 자연수이며, 항상 짝수로 주어집니다. 폰켓몬의 종류 번호는 1 이상 200,000 이하의 자연수로 나타냅니다. 가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 return 하면 됩니다. Solution #1 import java.util.*; class Solution { public int solution(int[] nums) { Set set = new HashSet(); for.. 2021. 5. 16.
[JAVA] 프로그래머스 Lv.1 : 약수의 개수와 덧셈 🔥 월간 코드 챌린지 시즌 2 예제: left right result 13 17 43 24 27 52 제한 조건: 1 ≤ left ≤ right ≤ 1,000 Solution #1 class Solution { public int solution(int left, int right) { int answer = 0; for(int i = left; i 2021. 5. 16.
[JAVA] 프로그래머스 Lv.1 : 음양 더하기 🔥 월간 코드 챌린지 시즌 2 예제: absolutes signs result [4,7,12] [true,false,true] 9 [1,2,3] [false,false,true] 0 제한 조건: absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. Solution #1 class Solution { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for(int i = 0; i < abs.. 2021. 5. 14.
[Java] LeetCode 455 : Assign Cookies LeetCode # 455 Example 1: Input: g = [1,2,3], s = [1,1] Output: 1 Explanation: You have 3 children and 2 cookies. The greed factors of 3 children are 1, 2, 3. And even though you have 2 cookies, since their size is both 1, you could only make the child whose greed factor is 1 content. You need to output 1. Example 2: Input: g = [1,2], s = [1,2,3] Output: 2 Explanation: You have 2 children and 3 .. 2021. 5. 14.
[Java] LeetCode 561 : Array Partition I LeetCode # 561 Example 1: Input: nums = [1,4,3,2] Output: 4 Explanation: All possible pairings (ignoring the ordering of elements) are: 1. (1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3 2. (1, 3), (2, 4) -> min(1, 3) + min(2, 4) = 1 + 2 = 3 3. (1, 2), (3, 4) -> min(1, 2) + min(3, 4) = 1 + 3 = 4 So the maximum possible sum is 4. Example 2: Input: nums = [6,2,6,5,1,2] Output: 9 Explanation: T.. 2021. 5. 14.
[Java] LeetCode 441 : Arranging Coins LeetCode # 441 Example 1: Input: n = 5 Output: 2 Explanation: Because the 3rd row is incomplete, we return 2. Example 2: Input: n = 8 Output: 3 Explanation: Because the 4th row is incomplete, we return 3. Note: 1 2021. 5. 14.
[Java] LeetCode 989 : Add to Array-Form of Integer LeetCode # 989 Example 1: Input: num = [1,2,0,0], k = 34 Output: [1,2,3,4] Explanation: 1200 + 34 = 1234 Example 2: Input: num = [9,9,9,9,9,9,9,9,9,9], k = 1 Output: [1,0,0,0,0,0,0,0,0,0,0] Explanation: 9999999999 + 1 = 10000000000 Constraints: 1 = 0 || sum > 0) { if (i >= 0) sum += (num[i]); list.addFirst(sum % 10); sum /= 10; i--; } return list; } } Result #2 💡 ArrayList에서 LinkedList로 자료형 변경 L.. 2021. 5. 13.
[Java] LeetCode 415 : Add Strings LeetCode # 415 Given two non-negative integers, num1 and num2 represented as string, return the sum of num1 and num2 as a string. Example 1: Input: num1 = "11", num2 = "123" Output: "134" Constraints: 1 2021. 5. 12.
[Java] LeetCode 258 : Add Digits LeetCode # 258 Given an integer num, repeatedly add all its digits until the result has only one digit, and return it. Example 1: Input: num = 38 Output: 2 Explanation: The process is 38 --> 3 + 8 --> 11 11 --> 1 + 1 --> 2 Since 2 has only one digit, return it. Constraints: 0 9 && num == 0) { num = sum; sum = 0; } } return sum; } } Result #1 More Algorithm! 👇👇 github.com/ggujangi/ggu.leet-code g.. 2021. 5. 12.
[Java] LeetCode 67 : Add Binary LeetCode # 67 Given two binary strings a and b, return their sum as a binary string. Example 1: Input: a = "11", b = "1" Output: "100" Constraints: 1 = 0) { result += Math.pow(2, s.length() - 1 - i) * (s.charAt(i) - 48); i--; } return result; } } Result #1 💡 2진수를 10진수로 변환하는 방법은 틀렸다. 가장 직관적으로 생각할 수 있는 방법은 2진수를 10진수로, 10진수를 2진수로 변환하여 풀이하는 것이다. 하지만 이 방법은 틀렸다. 자료형의 범위때문에 잘못된 값이 출력된다. Solution #2 cla.. 2021. 5. 12.