Programers 체육복 - JavaScript

2022. 9. 22. 20:22·Algorithm
반응형

문제 제목 : 체육복

문제 유형 : Greedy

출제 플랫폼 : Programers

문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/42862#

 

PesudoCode and Exception

// pesudoCode

1) 리서버중에 로스트가 있으면 리서버에서 지우기

2) 전체 명수 n 중에 로스트.length 빼고 answer에 넣어놓기

3) lost el이 reserver +1 -1로 있으면 리서버 지우고(while 이용), answer -1씩 해주기
    

// exception

1) lost와 reserve를 정렬해서 사용한다 => 최대값을 얻기 위해

2) 앞에 번호에게 먼저 빌릴 수 있는지 확인한다 => 최대값을 얻기 위해

 

내가 푼 문제

function solution(n, lost, reserve) {
    lost.sort((a, b) => a - b)
    reserve.sort((a, b) => a - b)
    let lostCopy = lost.slice(0)
    let reserveCopy = reserve.slice(0)
    
    reserve = reserve.filter(el => !lostCopy.includes(el))
    lost = lost.filter(el => !reserveCopy.includes(el))
    
    let answer = n - lost.length;
    
    while(lost.length) {
        let lostMan = lost.shift()
        let frontIdx = reserve.indexOf(lostMan - 1)
        let backIdx = reserve.indexOf(lostMan + 1)
        if(frontIdx >= 0) {
            reserve[frontIdx] = '_'
            answer++
        } else if(backIdx >= 0) {
            reserve[backIdx] = '_'
            answer++
        } else continue;
    }
    
    return answer;
}

 

다른사람이 푼 문제

function solution(n, lost, reserve) {      
    return n - lost.filter(a => {
        const b = reserve.find(r => Math.abs(r-a) <= 1)
        if(!b) return true
        reserve = reserve.filter(r => r !== b)
    }).length
}
반응형

'Algorithm' 카테고리의 다른 글

[Python, 이분탐색] 백준 1072 게임  (1) 2024.10.28
Programsers JadenCase 문자열 만들기 - JavaScript  (0) 2022.10.14
Programers 키패드 누르기 (2020 카카오 인턴십) - JavaScript  (1) 2022.09.23
Programers 비밀지도 (2018 카카오 신입 공채 1차) - JavaScript  (1) 2022.09.23
Programers 로또의 최고 순위와 최저 순위 - JavaScript  (1) 2022.09.22
'Algorithm' 카테고리의 다른 글
  • Programsers JadenCase 문자열 만들기 - JavaScript
  • Programers 키패드 누르기 (2020 카카오 인턴십) - JavaScript
  • Programers 비밀지도 (2018 카카오 신입 공채 1차) - JavaScript
  • Programers 로또의 최고 순위와 최저 순위 - JavaScript
OverFlowBIN
OverFlowBIN
    반응형
  • OverFlowBIN
    OverFlowBIN BE Tech Blog
    OverFlowBIN
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 전체보기
      • Computer Science
      • BE Study
      • MySQL
      • Algorithm
      • Language
        • TypeScript
        • JavaScript
        • Python
        • JAVA
      • Spring Boot
      • Programing Tool
      • Group Study
      • HTTP
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    일급 함수
    백엔드
    Nullish
    backend
    논리연산자
    기술면접
    Java
    algorithm
    thymeleaf
    동작원리
    게시판 만들기
    일급함수
    python #내장함수 #자료구조
    MongoDB
    axios
    programers
    spring boot
    의존성 주입
    app engine
    단축평가
    이분탐색
    node.js
    Spring
    이진검색
    back-end
    javascript
    httpie
    Google Cloud
    bootstrap
    코딩테스트
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
OverFlowBIN
Programers 체육복 - JavaScript
상단으로

티스토리툴바