코딩테스트입문 15

[프로그래머스] 최댓값 만들기(1) | JS

문제정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.해결 과정function solution(numbers) { let answer = []; let temp = 0; let temp2; let numSort; let realAnswer=1; for(let i = 0; i  numbers의 배열을 오름차순으로 정렬한다. 그뒤에 배열을 pop으로 꺼낸다음에 빈배열인 temp2에 저장해둔다.그리고 push해서 저장한 배열을 반복하기 위해서 for문을 이용해 realAnswer에 곱해 저장해준다. 새롭게 알게된 점function solution(numbe..

[프로그래머스] 주사위의 개수 🎲 | JS

문제머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요.해결 과정function solution(box, n) { let answer = 1; for (let i = 0; i  let answer에 1을 작성한 이유는 0을 작성하면 for문안에서 계속 0이 나오기 때문이다.for문에서 i는 0부터 시작해 box.length의 길이 만큼 반복한뒤 종료한다.answer에 구하고자하는 수를 곱해줘서 return을 했다.Mat..

[프로그래머스] 2차원으로 만들기 ✌︎ | JS

문제정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요.num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다.해결 과정구글링을 통해서 문제를 해결했다. function solution(num_list, n) { let answer = []; while(num_list.length) answer.push(num_list.splice(0, n)) return answ..

[프로그래머스] 중복된 숫자 개수 🫡 | JS

문제정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.해결 과정function solution(array, n) { let realAnswer = []; for (let i = 0; i  return을 받기 위해 빈 배열을 만들어 줬다.for문을 이용해서 array.length만큼만 반복하게 했다.if문을 활용하여 만일 array[i]의 숫자가 n과 같을때 realAnswer(빈 배열)에 추가되게 했다.그리고 반환을 이용해 문제를 풀었다.새롭게 알게된 점function solution(array, n) { return array.filter(v=>v===n).length;} filter를 이..

[프로그래머스] 머쓱이보다 키 큰 사람 🏫 | JS

문제머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.해결 과정function solution(array, height) { const moreHeight = array.filter(num => num > height) return moreHeight.length;} filter() 함수를 이용해서 풀었다.filter()를 이용해서 작성하면 좋은 점은 내가 찾는 특정 수 보다 큰 것들을 반할 수 있기 때문이다. filter()안에 화살표함수를 이용해서 풀었는데 만일 화살표 함수..

[프로그래머스] 배열 뒤집기 🔙

문제 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요. 해결 과정 두가지 방법으로 풀었다. 첫번째는 for문을 이용해서 두번째는 reverse 함수를 이용해서 풀었다. 👆🏻 for문을 이용한 해결 우선 답을 작성할 배열을 하나 만든다. for문을 이용하여 작성한다. 여기서 for문을 작성할 때 변형이 필요하다. 변형이 필요하다는게 무슨말이냐? 배열을 뒤집기 위한 변형이다. for(let i = num_list.length-1; i >= 0; i--) 변수 선언문(할당문)은 i = num_list.length -1을 했다. 왜 num_list.length -1을 했을까? 🤔 그 이유는..

[프로그래머스] 아이스 아메리카노 ☕

문제 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 해결 과정 1. 아이스아메리카노 가격의 변수를 만들었다. 2. 아이스 아메리카노가 몇잔이 나오는지 돈과 아이스 아메리카노 가격을 통해 만들었다. 3. 잔돈을 머쓱이가 가지고 있는 돈 에서 아이스아메리카노 잔 수 * 아이스 아메리카노 가격을 빼주었다. 아이스 아메리카노 잔 수에서 Math.floor 함수를 작성한 이유는 소수점을 없애기 위해서이다. 그리고 아이스아메리카노 배열을 만들어 아이스 아메리카노 잔..

[프로그래머스] 옷가게 할인 받기 👕👖

문제 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 해결 과정 전체 가격 변수를 만들었다. let totalPrice를 만들어 퍼센트 할인 공식을 넣어 할인된 가격이 출력되게 했다. 할인(%) 공신 만들기 가격 - (가격 * 할인 퍼센트) = 할인된 가격 function solution(price) { let totalPrice = 0; if(price >= 500000) { totalPrice = price - (price * 0.2); } else if(price >= 300000) { totalPrice = ..

728x90