개발하는 고양이 오이

14. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 폰켓몬 본문

코딩테스트 - JAVA/프로그래머스 Programmers

14. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 폰켓몬

Cucum 2022. 4. 28. 17:29

 

 

https://programmers.co.kr/learn/challenges

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 

프로그래머스 코딩테스트 연습 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 - 두 개 뽑아서 더하기°

 

6. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 두 개 뽑아서 더하기°

https://programmers.co.kr/learn/challenges 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr 풀이 import java.util.*; class Solution { public int[] solution(int[] nu..

dhdl-it.tistory.com

ArrayList.contains()

= 리스트 안에 어떤 객체가 있는지 확인하는데 사용하는 메소드.

   List안에 같은 값이 있으면 true를, 없으면 false를 리턴

 


다른 사람의 풀이

HashSet을 사용하여 따로 중복을 제거해주지 않았으며, 삼항연산자 사용하여 return

 

HashSet

= Set의 인터페이스 구현 클래스 -> Set의 성질 그대로 상속.

   * Set의 장점 : 중복을 자동으로 제거

     Set 인터페이스를 구현한 클래스로 HashSet과 TreeSet 존재.

     - HashSet : 정렬X

     - TreeSet : 자동정렬(정렬O)