728x90
1. 귤 고르기
https://school.programmers.co.kr/learn/courses/30/lessons/138476
import java.util.*;
class Solution {
public int solution(int k, int[] tangerine) {
int answer = 0;
//1. 이차원 배열 만들기
Map<Integer, Integer> tang = new HashMap<>();
for (int i=0; i<tangerine.length; i++) {
int size = tangerine[i];
tang.put(size, tang.getOrDefault(size, 0) +1); //getOrDefault(key, 기본값): key값이 없으면 기본값으로 설정
}
//2. 개수만 순서대로 배열 만들기
List<Integer> tangCount = new ArrayList<>();
for (Integer key : tang.keySet()) {
tangCount.add(tang.get(key));
}
Collections.sort(tangCount, Collections.reverseOrder());
int left = k; //남겨진 귤의 개수
for (int i=0; i<tangCount.size(); i++){
answer ++;
if (tangCount.get(i) >= left) break;
else left = left-tangCount.get(i);
}
return answer;
}
}
2. 삼총사
https://school.programmers.co.kr/learn/courses/30/lessons/131705
class Solution {
public int solution(int[] number) {
int answer = 0;
for (int i=0; i<number.length; i++) {
for (int j=i+1; j<number.length; j++) {
for (int k=j+1; k<number.length; k++) {
if (number[i] + number[j] + number[k] == 0) answer++;
}
}
}
return answer;
}
}
3. 자연수 뒤집어 배열로 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/12932
import java.util.*;
class Solution {
public int[] solution(long n) {
String str = Long.toString(n);
String reverse = "";
for (int i = str.length() - 1; i >= 0; i--) {
reverse = reverse + str.charAt(i);
}
String[] arr = reverse.split("");
int[] answer = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
answer[i] = Integer.parseInt(arr[i]);
}
return answer;
}
}
그리고 한 줄로 끝나는 코드 ..
import java.util.stream.IntStream;
class Solution {
public int[] solution(long n) {
return new StringBuilder().append(n).reverse().chars().map(Character::getNumericValue).toArray();
}
}
StringBuilder에 reverse라고 뒤집는 메서드가 있는데,
StringBuiilder에 n을 넣고
뒤집고
String으로 바꾸고
그 문자를 숫자값으로 매핑하고
배열로 변환한다
대박 ...
728x90
'Algorithm Study > Programmers' 카테고리의 다른 글
[프로그래머스] 달리기 경주 - 시간 복잡도를 꼭 고려해야 하는 문제 (Java) (0) | 2023.07.10 |
---|---|
[프로그래머스] 과일 장수 / 영어 끝말잇기 (Java) (0) | 2023.07.10 |
[프로그래머스] 체육복 / 가장 가까운 같은 글자 (Java) (0) | 2023.07.03 |
[프로그래머스] 소수찾기 / 의상 (Java) (0) | 2023.06.26 |
[프로그래머스] 최소 직사각형 / 타켓 넘버 / 완주하지 못한 선수 / 모의고사 (Java) (0) | 2023.06.11 |