문제 https://school.programmers.co.kr/learn/courses/30/lessons/181858 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 중복을 제거한 다음 다시 배열로 만들어 조건에 맞게 처리해준다. function solution(arr, k) { let answer = []; const set = new Set(arr); const array = [...set]; for (let i = 0; i < k; i++) { answer.push(array[i] !== undefined ? array[i] : -1); } ..
코딩테스트
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181923 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열을 잘라 조건에 맞게 필터링을 건 후 최소값 넣어준다. function solution(arr, queries) { let answer = []; for (query of queries) { const [s, e, k] = query; const line = arr.slice(s, e + 1).filter((v) => v > k); answer.push(line.length > 0..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120868 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 function solution(sides) { let answer = []; //오름차순 정렬 const [a, b] = sides.sort((a, b) => a - b); //가장 긴 변이 b인 경우 for (i = b + 1 - a; i b, a가 가장 긴 변일때 a>= c , 두 변의 길이의 합보다 작아야 하니 a = c, a < ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181859 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 특정 결과가 나올때까지 반복 => while문 사용하기 나머지 코드는 조건에 맞게 작성해준다. 최종적으로 빈배열이 되면 [-1]을 리턴해주는 코드를 추가한다. function solution(arr) { let i = 0; let stk = []; while (i < arr.length) { if (stk.length === 0 || stk[stk.length - 1] !== arr[..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 공식을 코드로 구현하면 된다. function solution(balls, share) { //팩토리얼 함수 const factorial = (n) => { let result = 1; for (let i = 1; i { // 정수 나누기 연산을 사용 return factorial(n) / (factorial(r) * factorial(n - r)); }; // 정수 값으로 반환되도록..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 특정 결과가 도출될때까지 어떤 동작을 반복해야 한다 => 반복문!! 조건에 맞게 반복문을 작성해준다. function solution(arr) { let i = 0; let stk = []; while (i 0 && stk[stk...
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181881 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단 원하는 결과가 나올때까지 어떤 동작을 반복해야 되니까 => while로 풀기 아니면 재귀함수를 만들자!! 라는 생각이 들었다 조건에 맞게 배열을 도는 함수를 만든다음에. 원하는 결과가 나올때까지 함수를 타고 타고 타고 태워준다. 그러다가 배열과 그 다음 배열이 완전히 일치할때 리턴을 통해 카운트를 반환해준다. function solution(arr) { let count = 0;..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181922 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 queries에 대한 반복문을 돌면서 해당 요소를 구조분해 할당으로 접근한다. i가 s부터 시작해서 e까지 1씩 증가하는 반복문을 돌리면서 k의 배수가 되는 경우를 찾는다(k로 나누어 0이 되는 경우) 조건에 부합하면 1을 더한 값을 재할당해준다. function solution(arr, queries) { for (n of queries) { const [s, e, k] = n; f..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 잘라내야 하는 부분을 잘라내 뒤집어 준 후, 그 문자가 들어갈 칸 앞, 뒤를 또 잘라내어 이어붙여준다. function solution(my_string, queries) { for (let i = 0; i < queries.length; i++) { const [start, end] = queries[i]; const reversed = [...my_string] .slice(sta..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(ineq, eq, n, m) { let answer = ""; if (eq === "=") { answer = ineq === "