분류 전체보기

Algorithm/Programmers

[알고리즘/프로그래머스/카카오] 개인정보 수집 유효기간(JS)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(today, terms, privacies) { const termsObj = terms.reduce((acc, cur) => { const [type, period] = cur.split(' ') acc[type] = +period return acc }, {}) const tDate = new Date(today) const expiredPrivac..

FrontEnd/TypeScript

[TypeScript] 상수 선언에 왜 enum 대신 as const를 사용했나요?

면접에서 과제에 대해 위와 같은 질문을 받았는데, TypeScript에서는 enum 사용을 자제해야한다는 것만 어렴풋이 알고 있어서 정확히 대답하지 못했다. 이에 대해 공부하고 코드에 적용해보는 시간을 가졌다. TypeScript에서 상수를 선언하는 방법에는 1. enum 2. const enum 3. as const가 있다. 세 가지 모두 값에 의미 있는 이름을 부여할 수 있다는 장점이 있다. 즉, 상수를 구체적으로 설명할 수 있는 값을 부여할 수 있다. enum 장점 [숫자형 enum] key-value 양방향 mapping이 가능하다. 연관된 값들의 집합을 하나로 묶어 접근 가능하다. [숫자형 enum이 아닌 경우] 값과 타입 모두 사용 가능해 Object.keys, Object.values를 사용..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점Kit] 완전탐색(JS)

문제: 최소직사각형 https://school.programmers.co.kr/learn/courses/30/lessons/86491?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(sizes) { // 가로, 세로 중 작은 값(세로)/큰 값(가로) 구분해서 각각의 최댓값을 곱한 값 sizes.map(size => size.sort((a, b) => a - b)) let maxH = 0 let maxW = 0 for (let [h, w] of sizes) { maxH = Math.ma..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점Kit] 스택/큐(JS)(같은 숫자는 싫어, 기능개발, 올바른 괄호, 프로세스, 다리를 지나는 트럭, 주식가격)

문제: 같은 숫자는 싫어 https://school.programmers.co.kr/learn/courses/30/lessons/12906?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(arr) { // 이전 숫자랑 같으면 continue, 아니면 answer에 push const answer = [arr[0]] for (let i=1;i Math.ceil((100 - p) / speeds[i])) const answer = [] let maxVal = leftDays[0] let ..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점Kit] 정렬(JS)(K번째수, 가장 큰 수, H-Index)

문제: K번째 수 https://school.programmers.co.kr/learn/courses/30/lessons/42748?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(array, commands) { // (i-1)부터 j까지 자르고 정렬 -> k번째 숫자 return commands.map(([i, j, k]) => array.slice(i-1, j).sort((a, b) => a - b)[k-1]) } 문제: 가장 큰 수 https://school.programmer..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점Kit] 해시(JS)브라운 먹고싶다/..(폰켓몬, 완주하지 못한 선수, 의상, 전화번호 목록, 베스트 앨범)

문제 : 폰켓몬 https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(nums) { // 종류(Set.size)와 nums.length/2 를 비교 // 종류가 더 많거나 같으면 길이 리턴, 아니면 종류 리턴. const types = new Set(nums).size const len = nums.length/2 return len = 0) { completion.splice(..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점 Kit] 프로세스(JS)

문제 https://github.com/tony9402/baekjoon GitHub - tony9402/baekjoon: 코딩테스트 대비 문제집(Baekjoon Online Judge) 코딩테스트 대비 문제집(Baekjoon Online Judge). Contribute to tony9402/baekjoon development by creating an account on GitHub. github.com 풀이 1. [순서, 우선순위] 큐를 만든다. 2. tasks를 앞에서부터 하나씩 꺼내서 확인한다. 우선순위가 가장 높은 경우 실행 순서인 order를 1 증가시킨다. 이때 만약 순서(idx)가 찾고자 하는 location이라면 order를 반환한다. 아니라면 다시 우선순위 최댓값을 남은 큐에서 찾는다..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점 Kit] 올바른 괄호(JS)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이전에는 큐로 풀었었는데 카카오 문제 풀고 나서 다른 방법도 알게 되었다. '('면 1, ')' 면 -1을 더해서 음수가 되는 경우 올바른 괄호가 아니라고 판단한다. 그리고 모두 더했을 때 0이거나 양수인데, 이때 0이면 올바른 괄호이므로 true를, 아니면 (가 더 많은 경우로 false를 반환한다. function solution(s){ let s..

개발자 김비숑
'분류 전체보기' 카테고리의 글 목록 (4 Page)