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
- 프로그래머스
- Fullcalendar
- 코딩테스트연습
- SimpleDateFormat
- php
- level1
- MSSQL
- 모달
- Android
- 안드로이드
- 부트스트랩
- androidstudio
- REACT
- Node
- 동적웹페이지
- 월간코드챌린지시즌3
- 스킬체크
- java
- 월간코드챌린지시즌2
- Summer/WinterCoding
- modal
- AJAX
- 나머지가1
- Programmers
- 백준
- 코딩테스트
- bootstrapModal
- bootstrap
- 연습문제
- 스킬체크테스트
Archives
- Today
- Total
개발하는 고양이 오이
14. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 폰켓몬 본문
https://programmers.co.kr/learn/challenges
프로그래머스 코딩테스트 연습 Level.1 - 폰켓몬
풀이
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
List<Integer> list = new ArrayList<>();
for (int i = 0; i < nums.length; i++) {
int res = nums[i];
// nums값을 중복 없이 가져오기 (contains)
if (!list.contains(res)) {
// 이 때 N마리 중 N/2마리만 가져가도 좋다고 했으므로, list의 사이즈와 nums의 사이즈 체크
if (list.size() > (nums.length / 2) - 1) {
break;
}
list.add(res);
}
}
answer = list.size();
return answer;
}
}
풀이 과정
- contains 사용 - 이전에 풀었던 '두 개 뽑아서 더하기' 에서 contains를 사용했던 기억이 나서 이용
2022.04.27 - [코딩테스트 - JAVA/프로그래머스 Programmers] - 6. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 두 개 뽑아서 더하기°
ArrayList.contains()
= 리스트 안에 어떤 객체가 있는지 확인하는데 사용하는 메소드.
List안에 같은 값이 있으면 true를, 없으면 false를 리턴
다른 사람의 풀이
HashSet을 사용하여 따로 중복을 제거해주지 않았으며, 삼항연산자 사용하여 return
HashSet
= Set의 인터페이스 구현 클래스 -> Set의 성질 그대로 상속.
* Set의 장점 : 중복을 자동으로 제거
Set 인터페이스를 구현한 클래스로 HashSet과 TreeSet 존재.
- HashSet : 정렬X
- TreeSet : 자동정렬(정렬O)
'코딩테스트 - JAVA > 프로그래머스 Programmers' 카테고리의 다른 글
16. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - x만큼 간격이 있는 n개의 숫자 / 13,14번 실패 해결 (0) | 2022.04.29 |
---|---|
15. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 핸드폰 번호 가리기, 짝수와 홀수 (0) | 2022.04.28 |
13. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 최소직사각형° (0) | 2022.04.28 |
12. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 예산 / 2,6,18,19번 실패 해결 / 다른 사람의 풀이 (0) | 2022.04.28 |
11. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 소수 만들기 (0) | 2022.04.27 |