Programming Study/Algorithm
-
최종 코드 import java.util.*; import java.util.stream.*; class Solution { public int solution(int[] nums) { int maxTakeNum = nums.length / 2; Set typeSet = Arrays.stream(nums).boxed().collect(Collectors.toSet()); if(typeSet.size() > maxTakeNum) return maxTakeNum; else return typeSet.size(); } } Lv.1 알고리즘 - 폰켓몬 문제내용 (문제풀이 사이트 바로가기) 더보기 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에..
[프로그래머스] 폰켓몬 (Lv.1)최종 코드 import java.util.*; import java.util.stream.*; class Solution { public int solution(int[] nums) { int maxTakeNum = nums.length / 2; Set typeSet = Arrays.stream(nums).boxed().collect(Collectors.toSet()); if(typeSet.size() > maxTakeNum) return maxTakeNum; else return typeSet.size(); } } Lv.1 알고리즘 - 폰켓몬 문제내용 (문제풀이 사이트 바로가기) 더보기 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에..
2023.06.02 -
최종 코드 import java.util.*; class Solution { public int[] solution(int[] sequence, int k) { int endIndex = -1, startIndex = -1; int outStartIndex = 0, outEndIndex = 0; int currentSum = 0, inArrLength = sequence.length + 1; for(int i = sequence.length - 1; i >= 0; i--) { if(sequence[i] == k) { // 배열의 값 = k if(i > 0 && sequence[i-1] == k) continue; return new int[] {i, i}; } // 최초 시작 지점을 처음 찾았다면 if(..
[프로그래머스] 연속된 부분 수열의 합 (Lv.2)최종 코드 import java.util.*; class Solution { public int[] solution(int[] sequence, int k) { int endIndex = -1, startIndex = -1; int outStartIndex = 0, outEndIndex = 0; int currentSum = 0, inArrLength = sequence.length + 1; for(int i = sequence.length - 1; i >= 0; i--) { if(sequence[i] == k) { // 배열의 값 = k if(i > 0 && sequence[i-1] == k) continue; return new int[] {i, i}; } // 최초 시작 지점을 처음 찾았다면 if(..
2023.05.30 -
class Solution { public int[] solution(int[] numbers) { Stack stack = new Stack(); int[] answer = new int[numbers.length]; Arrays.fill(answer, -1); for (int i = 0; i < numbers.length; i++) { while(!stack.isEmpty() && numbers[stack.peek()] < numbers[i]) { answer[stack.pop()] = numbers[i]; } stack.push(i); } return answer; } } (자세한 회고록 보러 가기)
[프로그래머스] 뒤에 있는 큰 수 찾기 (Lv.2)class Solution { public int[] solution(int[] numbers) { Stack stack = new Stack(); int[] answer = new int[numbers.length]; Arrays.fill(answer, -1); for (int i = 0; i < numbers.length; i++) { while(!stack.isEmpty() && numbers[stack.peek()] < numbers[i]) { answer[stack.pop()] = numbers[i]; } stack.push(i); } return answer; } } (자세한 회고록 보러 가기)
2023.05.09