문제 https://school.programmers.co.kr/learn/courses/30/lessons/181897 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 스위치문을 사용해 각 케이스에 맞게 코드를 작성한다 function solution(n, slicer, num_list) { const [a, b, c] = slicer; switch (n) { case 1: return num_list.slice(0, b + 1); case 2: return num_list.slice(a); case 3: return num_list.slice(a,..
javascript
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181857 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 log2를 취해서 정수인지 판별해서 맞다면 그대로 리턴 아닐 경우, log2를 취한 후 올림해 가장 가까운 자연수를 뽑아 제곱수를 구한다. 2.xx => Math.pow(2,3) => 8. 구한 숫자와 원래 배열의 길이의 차가 필요한 0의 개수가 된다. function solution(arr) { //요소의 수 const total = arr.length; //2의제곱인지 판별해서 맞..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열을 합쳐 문자열로 만든 후 7을 기준으로 쪼개 준다. 배열의 길이 -1 이 7의 개수가 된다. function solution(array) { return array.join("").split("7").length - 1; }
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120853 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 공백을 기준으로 쪼개 배열을 만들어준다. 만들어진 배열을 돌면서 다음에 오는 문자가 Z가 아니며, 현재 Z가 아닌 요소들만 골라 합한다. function solution(s) { const Zarr = s.split(" "); return Zarr.reduce((a, c, i) => { if (Zarr[i + 1] !== "Z" && c !== "Z") { a += +c; } retu..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181894 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 첫번째 2를 찾기 위해서 => indexOf 마지막 2를 찾기 위해서 => lastIndexOf 를 사용한다. 두개다 값이 있는 경우에는 배열을 인덱스를 사용해 잘라준다. (slice는 인덱스 앞까지 자름, 따라서 +1 추가) function solution(arr) { const first2 = arr.indexOf(2); if (first2 === -1) return [-1]; c..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181855 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열을 돌면서 객체를 만든다. 객체의 키값은 문자열의 길이, 그리고 중복된 키값을 가질 경우 해당 값을 + 1 해준다. 출력하면,, { '1': 2, '2': 2, '3': 1 } 이런식으로 얻을 수 있다. value가 가장 높은 값을 찾으면 되므로 max를 이용해 찾아준다. function solution(strArr) { const obj ={} strArr.forEach((x,i..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120896 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열을 배열로 풀어낸 다음 정렬해준다. ex) aabbbbc 앞이나 뒤의 값이 해당문자와 일치하면 넘겨주고 다르다면 새 배열에 추가해준다. function solution(s) { const arr = [...s].sort(); const answer = []; arr.forEach((v, i) => { if (v === arr[i + 1] || v === arr[i - 1]) re..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181917 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 ∨ : 양쪽 다 F일 경우에만 F이므로 논리연산자(OR) || ∧ : 양쪽 다 T일 경우에만 T이므로 논리연산자(AND) && function solution(x1, x2, x3, x4) { return (x1 || x2) && (x3 || x4) }
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120815 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 n명이 모두 같은 수의 조각 피자를 먹기 위해서는 n과 조각수의 최소 공배수를 구하면 된다. 그리고 그 공배수를 n으로 나누면 인당 몇 조각을 먹었는지 구할 수 있다. function solution(n) { const gcd = (a, b) => (a % b === 0 ? b : gcd(b, a % b)); const lcm = (a, b) => (a * b) / gcd(a, b);..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120846 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 합성수가 되려면 약수가 3개 이상이어야 된다. 2,3,5,7 로 나누어떨어지거나 루트를 씌웠을때 정수가 나오면 약수를 3개 이상 가졌다고 볼 수 있다. function solution(n) { let answer = 0; for (i = 4; i