안녕하세요 연하입니다.
이어서 정답률 87% 코드입니다.
1. 아이스 아메리카노
function solution(money) {
var answer = [parseInt(money/5500),money%5500];
return answer;
}
2. 배열 뒤집기
function solution(num_list) {
var answer = [];
for(let i=num_list.length-1;i>=0;i--){
answer[num_list.length-1-i] = num_list[i];
}
return answer;
}
function solution(num_list) {
var answer = num_list.reverse();
return answer;
}
3. 짝수는 싫어요
function solution(n) {
var answer = [];
for(let i=1;i<=n;i++){
if(i%2 ===1){
answer.push(i);
}
}
return answer;
}
4. 피자 나눠 먹기(3)
function solution(slice, n) {
return Math.ceil(n/slice);
}
5. 배열 자르기
function solution(numbers, num1, num2) {
var answer = [];
for(let i =num1;i<=num2;i++){
answer.push(numbers[i])
}
return answer;
}
(추가!!)
function solution(numbers, num1, num2) {
return numbers.slice(num1,num2+1); //splice 둘다 가능
}
6. 배열 뒤집기
function solution(my_string) {
var answer = '';
for(let i = my_string.length-1; i >= 0; i--){
answer+=my_string[i]
}
return answer;
}
(추가!!)
function solution(my_string) {
var answer = [...my_string].reverse().join('');
return answer;
}
7. 배열 두 배 만들기
function solution(numbers) {
return numbers.map(x=>2*x);
}
8. 배열 원소의 길이
function solution(strlist) {
return strlist.map(x=>x.length);
}
9. 특정 문자 제거하기
function solution(my_string, letter) {
return my_string.split(letter).join('');
}
10. 점의 위치 구하기
function solution(dot) {
if(dot[0] > 0 && dot[1] > 0)return 1;
else if(dot[0] < 0 && dot[1] > 0)return 2;
else if(dot[0] < 0 && dot[1] < 0)return 3;
else return 4;
}
(추가!!)
function solution(dot) {
num = dot[0] * dot[1];
return dot[0] > 0? (num > 0 ? 1 : 4) : ( num > 0 ? 3 : 2 );
}
11. 문자 반복 출력하기
function solution(my_string, n) {
var answer = [];
let string = my_string.split('')
string.map( x => {
for(let i = 0; i < n; i++){
answer.push(x)
}
})
answer = answer.join('')
return answer;
}
(추가!!)
function solution(my_string, n) {
var answer = '';
my_string.split('').map( x => {
answer += x.repeat(n)
}).join('');
return answer
}
12. 삼각형의 완성조건(1)
function solution(sides) {
var answer = 0;
sides.sort((a,b)=>{
return a-b;
})
if(sides[0]+sides[1] > sides[2]){
return 1
}
else return 2
//삼항연산자를 이용 한다면
// return sides[0]+sides[1] > sides[2] ? 1 : 2;
}
13. 옷가게 할인 받기
function solution(price) {
if(price < 100000){
return price;
}
else if(price < 300000){
return Math.floor(price*0.95)
}
else if(price < 500000){
return Math.floor(price*0.9)
}
else return Math.floor(price*0.8)
}
14. 제곱수 판별하기
function solution(n) {
return Number.isInteger(Math.sqrt(n))? 1 : 2;
//return Math.sqrt(n)%1 === 0? 1 : 2;
}
15. 배열의 유사도
function solution(s1, s2) {
var answer = 0;
s1.map( x => {
s2.map ( y => {
if( x === y) answer++;
})
})
return answer;
}
(추가!!)
function solution(s1, s2) {
return s1.filter(x => s2.includes(x)).length;
}
16. 순서쌍의 개수
약수의 개수를 전부 구한 뒤 각 약수의 n승에 +1 을 해준 뒤 전부 곱한 결과.
function solution(n) {
var answer = 1;
var num = 0;
for(let i = 2; i<=n; i++){
while(Number.isInteger(n/i)){
n=n/i;
num++;
}
answer = answer * (num+1)
num = 0;
}
return answer;
}
(추가!!)
function solution(n) {
var answer = 0;
for(let i = 1; i<=n; i++){
if(n%i === 0){
answer++;
}
}
return answer;
}
17. 자릿수 더하기
function solution(n) {
var answer = 0;
for(let i = 6; i>= 0; i--){
if(n/10**i !== 0){
answer+=Math.floor(n/(10**i))
n = n - Math.floor(n/(10**i))*(10**i)
}
}
return answer;
}
18. 문자열안에 문자열
function solution(str1, str2) {
return str1.includes(str2)? 1: 2;
}
19. 세균 증식
function solution(n, t) {
return n*2**(t);
}
20. 중앙값 구하기
function solution(array) {
var answer = 0;
array.sort( (a,b) => {
return a-b;
})
return array[Math.floor(array.length/2)];
}
21. 문자열 정렬하기(1)
function solution(my_string) {
my_string = my_string.split('')
var answer = my_string.length;
while(answer){
answer--;
my_string[answer] = Number(my_string[answer])
}
my_string=my_string.filter( x => Number.isInteger(x))
return my_string.sort( (a,b) => {return a-b});
}
(추가!)
function solution(my_string) {
return my_string.split('').filter( (x) => !isNaN(x)).map((x)=>Number(x)).sort((a,b)=>a-b);
}
'코테 준비 > [JS] 프로그래머스' 카테고리의 다른 글
[프로그래머스 0단계 :JS] 작성일 기준 정답률 85% (0) | 2022.11.23 |
---|---|
[프로그래머스 0단계 :JS] 작성일 기준 정답률 86% (2) | 2022.11.22 |
[프로그래머스 0단계 :JS] 작성일 기준 정답률 88% (0) | 2022.11.06 |
[프로그래머스 0단계 :JS] 작성일 기준 정답률 89% (0) | 2022.11.06 |
[프로그래머스 0단계 :JS] 작성일 기준 정답률 90% (0) | 2022.11.05 |