https://programmers.co.kr/learn/courses/30/lessons/1845
이번문제는 순식간에 풀었다.
level1은 이제 어느 정도 쉽게 어떤식으로 풀어야할지 감이 오는 것 같다.
[알고리즘 Flow]
1. 가져갈 수 있는 최대 폰켓몬 수를 구해준다.
2. 폰켓몬의 종류의 수를 구해준다.
3. 둘의 값을 비교하여 가져갈 수 있는 최대 폰켓몬 수가 작으면 해당 수를 리턴하고, 그렇지 않으면 종류의 수를 리턴한다.
[코드결과]
import java.util.Set;
import java.util.HashSet;
class Solution {
public int solution(int[] nums) {
int answer = 0;
// Set에 주어진 nums들을 넣어줘서 중복을 제거한다.
Set<Integer> set = new HashSet<Integer>();
for (int i = 0; i < nums.length; i++) {
set.add(nums[i]);
}
// 가져갈 수 있는 폰켓몬 최대수
int a = nums.length / 2;
// 종류 최대수
int b = set.size();
// 가져갈 최대수가 종류의 최대수보다 작으면 가져갈 최대수 리턴 아니면 종류 최대수 리턴
if (a < b) {
answer = a;
} else {
answer = b;
}
return answer;
}
}
진짜 30분도 안걸린 것 같다... 전에 푼 키패드 누르기는 몇 시간이나 걸렸는데...
level1도 차이가 심하다.
그래도 예전에는 몇일씩 풀던걸 이제 하루도 안걸리게 풀고 있으니...
인간의 욕심은 끝이 없다. 10분안에 풀고 싶다.
[깃허브]
https://github.com/RUCKUSJERRY/practiceOfJava/blob/main/Prs_Pratice/src/com/level01/phoneketmon.java
'문제풀이 > 프로그래머스' 카테고리의 다른 글
내적 / 프로그래머스 연습문제 / programmers / level1 / Java (0) | 2021.06.10 |
---|---|
[1차] 비밀지도 / 프로그래머스 연습문제 / programmers / level1 / Java (0) | 2021.06.09 |
키패드 누르기 / 프로그래머스 연습문제 / programmers / level1 / Java (0) | 2021.06.07 |
실패율 / 프로그래머스 연습문제 / programmers / level1 / javascript (0) | 2021.05.15 |
큰 수 만들기 / 프로그래머스 연습문제 / programmers / level2 / Javascript / 탐욕 (0) | 2021.05.14 |