BaGyun
빠균's 개발노트
BaGyun
전체 방문자
오늘
어제
  • 분류 전체보기 (71)
    • Today I Learned (44)
      • 오류 (8)
      • JavaScript (15)
      • TypeScript (9)
      • NodeJS (0)
      • NestJS (0)
      • Database (3)
      • ORM (1)
      • 알고리즘 (2)
      • 개인공부 (4)
      • Deploy (0)
      • Git (1)
    • 개인프로젝트 (4)
    • 알고리즘 (14)
      • 프로그래머스 (14)
    • 면접질문 (5)
    • 회고 (3)

인기 글

반응형

블로그 메뉴

  • 홈
  • 태그
  • 방명록
hELLO · Designed By 정상우.
BaGyun

빠균's 개발노트

알고리즘/프로그래머스

[프로그래머스] 폰켓몬

2022. 7. 28. 23:54
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

나의 풀이

function solution(nums) {
    let arr = []
    for(i=0; i<nums.length; i++){
        arr.push(nums[i])
        const set = new Set(arr)
        arr = [...set]
        if(arr.length === nums.length / 2){
            break;
        }
    }
    
    return arr.length;
}

처음엔 배열을 만들어서 includes로 nums의 중복된 값을 제거하는 방식으로 return 했더니 몇개가 통과되지 않아, new Set으로 중복된 값을 제거 후 다시 배열에 담는 식을 작성해서 모든 테스트 케이스에는 통과했다.

베스트 풀이

function solution(nums) {
  const max = nums.length / 2;
  const arr = [...new Set(nums)];

  return arr.length > max ? max : arr.length
}

간결하게 중복된 값을 제거하고, nums를 반으로 나눈 값을 대조시키는 방법도 있다는걸 알게되었다

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[프로그래머스] 실패율  (0) 2022.07.29
[프로그래머스] 모의고사  (0) 2022.07.29
[프로그래머스] 소수 만들기  (0) 2022.07.28
[프로그래머스] 오픈채팅방  (0) 2022.07.28
[프로그래머스] 문자열 압축  (0) 2022.07.27
    '알고리즘/프로그래머스' 카테고리의 다른 글
    • [프로그래머스] 실패율
    • [프로그래머스] 모의고사
    • [프로그래머스] 소수 만들기
    • [프로그래머스] 오픈채팅방
    BaGyun
    BaGyun

    티스토리툴바