Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- HashMap
- 도커
- 백엔드
- 코딩테스트
- Linux
- 구름LEVEL
- 구현
- 프로그래머스
- 스프링부트
- docker
- 자료구조
- 스프링 부트
- 인텔리제이
- HTTP
- 인프라
- dfs
- spring
- 스프링
- Java
- 문자열
- spring boot
- 주니어
- 이직
- 개발자
- 해결
- 해시맵
- bfs
- IntelliJ
- 스타트업
- 배열
Archives
- Today
- Total
마이의 개발 블로그
[프로그래머스] 폰켓몬 (Java) 본문
반응형
코딩테스트 연습 - 폰켓몬
당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.
programmers.co.kr
작성 코드
1. 정렬 (Arrays.sort())
2. 한 바퀴 돌면서 중복 안 되는 폰켓몬 번호의 최대값(count)이 몇 개인지 찾는다 (for문).
3. 선택가능한 최대개수 n과 count를 비교하여 그 중 큰 값을 정답으로 반환한다.
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
Arrays.sort(nums);
int count = 0;
int num = -1;
for(int i=0; i<nums.length; i++){
if(num != nums[i])
count++;
num = nums[i];
}
int n = nums.length/2;
if(count >= n)
answer = n;
else
answer = count;
return answer;
}
}
Note
- 처음에 문제를 언뜻보고서는 글이 너무 많아 계속 넘기고 넘겼는데 읽어보니 너무나 간단한 문제였다. 앞으로는 풀기 어려워보여도 좀 더 자세히 들여다봐야겠다.
- 해시로 푸는 방법도 있기는 하나 직접 적용해보니 테스트케이스 응답시간에 별반 차이가 없는 듯하다.
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 크레인 인형뽑기 게임 (Java) (0) | 2022.03.08 |
---|---|
[프로그래머스] 신고 결과 받기 (Java) (0) | 2022.03.05 |
[프로그래머스] 기능개발 (Java) (0) | 2022.03.03 |
[프로그래머스] 피보나치 수 (Java) (0) | 2022.03.03 |
[프로그래머스] 완주하지 못한 선수 (Java) (0) | 2022.02.24 |
Comments