프로그래머스, 자바스크립트) 문자열 겹쳐쓰기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 필요한 만큼 문자열 잘라낸 후 이어 붙인다. function solution(my_string, overwrite_string, s) { return my_string.slice(0, s) + overwrite_string + my_string.slice(s + overwrite_string.length); }
프로그래머스, 자바스크립트) 그림 확대
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181836 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 예시를 잘 살펴보면 규칙을 알 수 있다. 배열에 있는 요소당 문자를 k배 해주고 그 줄을 k배 추가해주면 된다. function solution(picture, k) { //가로세로 2배씩 해주면 된다 //한줄 당 k배로 만들고 그 줄을 k배 추가한다 let answer = []; picture.forEach((item) => { const line = [...item].map((ch..
프로그래머스, 자바스크립트) 정사각형으로 만들기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181830 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 arr의 모든 원소의 길이는 같다는 조건이 있으므로 행과 열이 같은 경우에는 바로 리턴해서 빠져나온다. 그리고 같지 않은 경우에는 그만큼 0을 채워주고, 아예 원소가 없는 경우에는 0으로 다 채워서 넣어준다. function solution(arr) { //행, 열이 같은 경우 if (arr.length === arr[0].length) { return arr; } //같지 않은 경우..
프로그래머스, 자바스크립트) 무작위로 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;..