기록하는 개발자

[프로그래머스][JAVA] 폰켓몬 본문

Algorithm

[프로그래머스][JAVA] 폰켓몬

밍맹030 2021. 6. 11. 21:53
728x90

 

import java.util.*;
class Solution {
    	public int solution(int[] nums) {
    	int answer = 0;
    	List<Integer> list = new ArrayList<Integer>();
    	list.add(nums[0]); //배열의 첫 번째 요소를 list에 삽입
        
    	for(int i=1; i<nums.length; i++) // nums[] 배열의 중복 제거-> list 길이=폰켓몬 종류
    	    if(!list.contains(nums[i])) //list가 배열의 i번째 요소를 갖고 있지 않은 경우에만
    	    	list.add(nums[i]); //list에 i번째 요소를 추가한다.
        
    	// list.size(): 폰켓몬 종류, nums.length/2 : 선택 가능한 최대 폰켓몬 수
        /*아래 삼항연산자 내용
            - 폰켓몬 종류 보다 N/2가 더 크면 폰켓몬 종류를 반환한다.
            - 폰켓몬 종류가 N/2보다 크거나 같으면 N/2를 반환한다.*/
    	answer = (nums.length/2>=list.size() ) ? list.size() : nums.length/2;
    	return answer;
    }
}
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/1845
728x90