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

김예지·2021년 10월 16일
1

문제

https://programmers.co.kr/learn/courses/30/lessons/1845


문제 풀이

코드

function solution(nums) {
    const max=nums.length/2;
    const arr=[...new Set(nums)];
    return (arr.length>max)? max: arr.length;
}

첨에는 dfs로 어렵게 접근했다가, 몇가지 테케가 통과를 못해서 해설을 찾아보니 세줄으로 끝낼 수 있는 문제였다 🤣
Set과 같이 생성한 객체도 전개연산자를 사용해서 전개할 수 있다는 것을 배웠다. 만약 nums=[3, 1, 2, 3]으로 가정했을 때, [...new Set(nums)]는 [3, 1, 2]로 표현될 수 있다.
예전에 무식하게 풀었을 때 풀린 문제들이 있어서 효율적으로 풀 수 있는 문제도 무작정 생각나는 단순한 방법으로 풀다보니, 더 효율적인 방식이 있을 수 있다는 것을 간과하는 것 같다.
때로는 무식한게 답일수도 있지만 항상 무식한게 답이라는 것은 아니니, 문제 풀기전에 좀 더 효율적으로 풀 수 있는 방법이 있는지 생각하는 시간을 꼭 꼭 가지자❗️

profile
내가 짱이다 😎 매일 조금씩 성장하기🌱

1개의 댓글

comment-user-thumbnail
2021년 10월 26일

10/26

답글 달기