
| 제출 function solution(s) { return s.length % 2 !== 0 ? s[Math.floor(s.length / 2)] : s[s.length / 2 - 1] + s[s.length / 2] } | 개념 Math.floor() 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환한다. (내림)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(arr) { return arr.filter((num, index) => num !== arr[index + 1]); } | 풀이과정 filter의 callback 함수에서 두 번째 매개변수인 index를 이용하면 쉽게 풀 수 있다. | 개념 Array.prototype.filter() 주어진 함수의 조건에 맞는 모든 요소들을 모아서 새로운 배열로 반환한다. filter의 매개변수 callback 함수 - true를 반환하면 요소를 유지하고, false를 반환하면 요소..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(arr, divisor) { const answer = arr.filter((num) => num % divisor === 0).sort((a, b) => a-b); return answer.length === 0 ? [-1] : answer; } | 풀이과정 filter 메서드를 사용해서 divisor로 나누어 떨어지는 요소를 반환하게 한 후, 정렬하면 되는 간단한 문제이다. | 개념 Array.prototype.filter() 주어진 함수의 조건에 맞는 모든 요소들..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(a, b) { return (a+b) * (Math.abs(b-a)+1) / 2; } | 풀이과정 a부터 b까지 수의 합은 등차수열 공식으로 쉽게 풀 수 있다. 등차수열의 합은 아래 공식을 이용하여 구할 수 있다. a와 b의 대소관계가 정해져 있지 않기 때문에 두 수 사이의 개수를 구할 때 Math.abs 메서드를 사용하여 절대값을 이용해야한다. | 개념 Math.abs() 주어진 숫자의 절대값을 반환한다.

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(strings, n) { return strings.sort((a, b) => { if (a[n] > b[n]) return 1; else if (a[n] b ? 1 : -1; }); } | 풀이과정 현재 strings 배열의 요소 중 인덱스가 n인 글자를 기준으로 정렬해야 하기 때문에 sort 메서드의 매개변수로 compareFunction을 정의하여 정렬한다. | 개념 Array.prototype.sor..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(s) { let convertedWord = s.toLowerCase(); let pCount = convertedWord.split("p").length; let yCount = convertedWord.split("y").length; return pCount === yCount ? true : false; } | 풀이과정 첫 번째 제출 - for문 사용 function solution(s) { let pCount = 0; let yCount = 0; let con..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(s) { return s.split("").sort().reverse().join(""); } | 풀이과정 sort() 메서드를 사용하면 문자열이 오름차순으로 정렬되므로, reverse() 메서드로 뒤집어서 내림차순으로 반환한다. | 개념 String.prototype.split() String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눈다. 구분자가 빈 문자열일 경우 str의 각각의 문자가 배열의 원소 하나씩으로 변환된다. Array.prototype.s..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(s) { return !s.includes("e") && !isNaN(s) && (s.length === 4 || s.length === 6); } | 풀이과정 문자열 s의 길이를 판별하는 것은 length를 통해 쉽게 비교할 수 있다. 숫자로 구성돼있는지 확인하기 위해서는 isNaN을 사용하면 된다. 만약, 문자열에 알파벳이 들어있다면 숫자형으로 변환했을 때 NaN이기 때문에 isNaN은 true를 반환한다. 추가로 생각해주어야 할 것은 지수 표기법이다. 예를 들어,..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(seoul) { const index = seoul.indexOf("Kim"); return `김서방은 ${index}에 있다`; } | 풀이과정 입력받은 문자열에서 indexOf 메서드를 사용해 "Kim"이 첫 번째로 나오는 인덱스를 저장하여 출력하면 된다. 현재 문제에서 "Kim"은 한 번만 나타난다고 했기 때문에 간단하게 풀 수 있었다. | 개념 String.prototype.indexOf() 문자열에서 지정된 요소가 발견되는 첫 번째 인덱스를 반환하고 해당 값이..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(n) { const isPrime = new Array(n + 1).fill(true).fill(false, 0, 2); for (let i = 2; i