//////
Search
📝

[5월 12일]

태그
코테
태그 1
작성자 이름: 이예지, 조원영, 김미정, 김현태, 손수민
이예지(프로그래머스)
문제 1. 정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 입출력 예 n result 24 [1, 2, 3, 4, 6, 8, 12, 24] 29 [1, 29] 문제 2. 어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요. 입출력 예 n t result 2 10 2048 7 15 229,376 문제 3. 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요. 입출력 예 numbers direction result [1, 2, 3] "right" [3, 1, 2] [4, 455, 6, 4, -1, 45, 6] "left" [455, 6, 4, -1, 45, 6, 4]
HTML
복사
문제 1. function solution(n) { var answer = []; for(let i = 0; i <= n; i++){ if(n % i === 0){ answer.push(i); } } return answer; } 문제 2. function solution(n, t) { for(let i = 1; i<= t; i++) n *= 2; return n; } 문제 3. function solution(numbers, direction) { var answer = []; if(direction === "right"){ for(let i = 0; i < numbers.length -1; i++){ answer.push(numbers[i]); } answer.unshift(numbers[numbers.length-1]); }else{ for(let i = 1; i < numbers.length; i++) { answer.push(numbers[i]); } answer.push(numbers[0]); } return answer; } <프로그래머스 답변> function solution(numbers, direction) { direction === 'right' ? numbers.unshift(numbers.pop()) : numbers.push(numbers.shift()); return numbers; } //pop 배열 뒤에서 값을 제거 push 배열 뒤에서 값을 추가 //shift 배열 앞에서 값을 제거 unshift 배열 앞에서 값을 추가
JavaScript
복사
조원영(프로그래머스)
문제1 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] 문제2 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 입출력 예 n return 121 144 3 -1
JavaScript
복사
풀이1 function solution(arr, divisor) { var answer = arr.filter((v) => v % divisor == 0).sort((a, b) => a - b); return answer.length === 0 ? [-1] : answer; } 풀이2 function solution(n) { let num = n ** (1 / 2); if (num === Math.floor(num)) { return (num + 1) ** 2; } else { return -1; } // if (Number.isInteger(num)){ // return ((num+1)**2) // } // else{ // return -1 // } }
JavaScript
복사
김미정(프로그래머스)
문제 1. 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 문제 2. 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.
JavaScript
복사
풀이 1. function solution(money) { var answer = []; answer.push(Math.floor(money/5500)) answer.push(money - Math.floor(money / 5500)*5500) return answer; } // money로 사먹을 수 있는 커피 개수 Math.floor(money /5500) // 남은 돈 => money - (money / 5500) // 배열에 추가하는 메소드 push <현태님 커멘트> function solution(money) { var answer = []; let a = Math.floor(money/5500) answer.push(a) answer.push(money - a * 5500) return answer; } <예지님 커멘트> function solution(money) { return [Math.floor(money / 5500), Math.floor(money % 5500)]; } function solution(money) { let a = Math.floor(money/5500) return [a, money-a * 5500]; } 풀이 2-1. function solution(price) { if (price >= 500000){ return price - (price * 0.2) } else if (price >= 300000){ return price - (price * 0.1) } else if (price >= 100000){ return price - (price * 0.05) } } // 오답! function solution(price) { if (price >= 500000){ return parseInt(price - (price * 0.2)) } else if (price >= 300000){ return parseInt(price - (price * 0.1)) } else if (price >= 100000){ return parseInt(price - (price * 0.05)) } else{ return parseInt(price) } } 풀이 2-2. function solution(price) { if (price >= 500000) return Math.floor(price - (price * 0.2)) if (price >= 300000) return Math.floor(price - (price * 0.1)) if (price >= 100000) return Math.floor(price - (price * 0.05)) return price } console.log(Math.floor(-5.05)); // -6 console.log(parseInt(-5.05)); // -5 // 자꾸 답이 안된다는데 이유를 찾아주세요 여러분 😭 // 만약 500000이상이 들어오면 첫번째부터 걸리기 때문에 큰 숫자부터 역순으로 만들어줘야한다! // Math.floor 내림(소숫점버림) parseInt 정수로 반환(소숫점 버림)
JavaScript
복사
김현태(프로그래머스)
콜라를 받기 위해 마트에 주어야 하는 병 수 a, 빈 병 a개를 가져다 주면 마트가 주는 콜라 병 수 b, 상빈이가 가지고 있는 빈 병의 개수 n이 매개변수로 주어집니다. 상빈이가 받을 수 있는 콜라의 병 수를 return 하도록 solution 함수를 작성해주세요.
JavaScript
복사
function solution(a, b, n) { let answer = 0; while(n / a >= 1){ //교환받을 수 있는 콜라 let tmp = parseInt(n / a ) * b; answer += tmp; n = n - parseInt(n / a) * a + tmp; } return answer; }
JavaScript
복사
손수민 (프로그래머스)
문제 1 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 문제 2 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
JavaScript
복사
문제 1 풀이 function solution(price) { if(price>= 500000){ price*=0.8 }else if(price>=300000){ price*=0.9 }else if (price>=100000){ price*=0.95 } return Math.floor(price) } 예지님 코멘트 : Math.floor를 사용하지 않으면 오류가 발생하기 때문에( 10 ≤ price ≤ 1,000,000) Math.floor를 사용해야 합니다 . 문제 2 풀이 function solution(money) { let num = Math.floor(money /5500) let change = money%5500 let answer = [num,change]; return answer; }
JavaScript
복사
유하은(프로그래머스)
문제) 다음에 올 숫자 문제 설명 등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요. 제한사항 2 < common의 길이 < 1,000 -1,000 < common의 원소 < 2,000 common의 원소는 모두 정수입니다. 등차수열 혹은 등비수열이 아닌 경우는 없습니다. 등비수열인 경우 공비는 0이 아닌 정수입니다. 입출력 예 common result [1, 2, 3, 4] 5 [2, 4, 8] 16
JavaScript
복사
풀이) function solution(common) { let obj = common[1] - common[0] let obj2 = common[2] - common[1] return (obj === obj2)? common[common.length-1] + obj : common[common.length-1] * (obj2 / obj) } //공비 [x, x*?, x * ? * ?] obj => (x*?) - x = x (? - 1) obj2 => (x * ? * ?) - x * ? = x*? (? - 1) obj2 / obj = ?
JavaScript
복사