728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/1845
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제의 핵심은 배열의 중복제거이다.
Hash 카테고리 이므로 HashSet을 이용하여 풀어보기로 한다.
JAVA
import java.util.*;
class Solution {
public int solution(int[] nums) {
// int to Integer
Integer[] IntegerNums = Arrays.stream(nums).boxed().toArray(Integer[]::new);
// HashSet으로 중복제거
HashSet<Integer> numSet = new HashSet<Integer>(Arrays.asList(IntegerNums));
if (nums.length/2 > numSet.size()) {
return numSet.size();
}else{
return nums.length/2;
}
}
}
python
python set 함수 이용
def solution(nums):
#받은 배열 중복 제거
arr = list(set(nums))
if len(arr) > len(nums)/2 :
return len(nums)/2
else:
return len(arr)728x90
반응형
'알고리즘 > 코드' 카테고리의 다른 글
| [코딩테스트 고득점 Kit] 해시 4 - 위장 (0) | 2023.01.05 |
|---|---|
| [코딩테스트 고득점 Kit] 해시 3 - 전화번호 목록 (0) | 2023.01.04 |
| Maximum Subarray - 백준10211, leetcode 53 알고리즘 성능 비교 (0) | 2022.12.14 |
| 2020 KAKAO BLIND RECRUITMENT 괄호 변환 Python (0) | 2020.11.28 |
| 코딩테스트 고득점 Kit [정렬] - K번째 수 (python) (1) | 2020.05.11 |
댓글