프로그래머스, 자바스크립트) 무작위로 K개의 수 뽑기
·
개발/알고리즘(코딩테스트)
문제 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); } ..
프로그래머스, 자바스크립트) 수열과 구간 쿼리 2
·
개발/알고리즘(코딩테스트)
문제 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..
프로그래머스, 자바스크립트) 삼각형의 완성조건 (2)
·
개발/알고리즘(코딩테스트)
문제 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 < ..
프로그래머스, 자바스크립트) 배열 만들기 6
·
개발/알고리즘(코딩테스트)
문제 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)); }; // 정수 값으로 반환되도록..
프로그래머스, 자바스크립트) 배열 만들기 4
·
개발/알고리즘(코딩테스트)
문제 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...
프로그래머스, 자바스크립트) 조건에 맞게 수열 변환하기 2
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181881 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단 원하는 결과가 나올때까지 어떤 동작을 반복해야 되니까 => while로 풀기 아니면 재귀함수를 만들자!! 라는 생각이 들었다 조건에 맞게 배열을 도는 함수를 만든다음에. 원하는 결과가 나올때까지 함수를 타고 타고 타고 태워준다. 그러다가 배열과 그 다음 배열이 완전히 일치할때 리턴을 통해 카운트를 반환해준다. function solution(arr) { let count = 0;..
프로그래머스, 자바스크립트) 수열과 구간 쿼리 4
·
개발/알고리즘(코딩테스트)
문제 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 === "