//////
Search
📝

[5월 2일]

태그
코테
태그 1
작성자 이름: 유하은, 김미정, 김현태, 조원영, 손수민, 이예지
유하은(프로그래머스)
문제) 조건에 맞게 수열 변환하기 1 문제 설명 정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱합니다. 그 결과인 정수 배열을 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000,000 1 ≤ arr의 원소의 값 ≤ 100 입출력 예 arr result [1, 2, 3, 100, 99, 98] [2, 2, 6, 50, 99, 49]
JavaScript
복사
풀이) function solution(arr) { let answer = []; for (let i = 0; i<arr.length; i++){ if(arr[i]>=50 && arr[i] % 2===0){ answer.push(arr[i]/2) } else if (arr[i]<50 && arr[i] % 2!==0){ answer.push(arr[i]*2) } else { answer.push(arr[i]) } } return answer; } 분명 더 깔끔하게 가능할 것 같은데 저의 한계입니다.. 선배님들 알려주시면 연마하도록 노력하겠습니다 사랑합니다. <삼항연산자 러버 예지님... 코멘트> function solution(arr) { let answer = []; for (let i = 0; i<arr.length; i++){ (arr[i]>=50 && arr[i] % 2===0) ? answer.push(arr[i]/2) : (arr[i]<50 && arr[i] % 2!==0) ? answer.push(arr[i]*2) : answer.push(arr[i]) } return answer; } <프로그래머스 답변> function solution(arr) { return arr.map((v)=> (v>=50 && v%2===0) ? v/2 : (v<50 && v%2!==0) ? v*2 : v) }
JavaScript
복사
김미정(프로그래머스)
문제 1. 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요. 문제 2. 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
JavaScript
복사
풀이 1. function solution(n) { return Math.ceil(n / 7) } // 사람 n명 // 피자 한판에 7조각 // 피자의 수 return // 반올림(round), 올림(ceil), 내림(floor) 풀이 2. function solution(numbers) { numbers.sort((a, b)=> b - a) const a = numbers[0] const b = numbers[1] return a * b } // arr.sort((a, b) => a - b)오름차순 // arr.sort((a, b) => b - a)내림차순 < 현태님 코멘트 > return numbers[0] * numbers[1]
JavaScript
복사
김현태(프로그래머스)
function solution(price, money, count) { let sum = 0; for(let i=1; i<=count; i++){ sum += price * i; } if (sum > money) return sum - money; (else) return 0; // 돈이 충분하면 0리턴 }
JavaScript
복사
조원영(프로그래머스)
문제 2. x만큼 간격이 있는 n개의 숫자 (https://school.programmers.co.kr/learn/courses/30/lessons/12954)
문제1 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 입출력 예 a b result [1,2,3,4] [-3,-1,0,2] 3 // (-3) + (-2) + 0 + 8 [-1,0,1] [1,0,-1] -2 // (-1) + 0 + (-1) 문제2 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 입출력 예 x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4, -8]
JavaScript
복사
풀이1 function solution(a, b) { var answer = 0; let temp = []; for (let i = 0; i < a.length; i++) { temp.push(a[i] * b[i]); } answer = temp.reduce((acc, a) => acc + a, 0); return answer; } <현태님 코멘트> function solution(a, b) { var answer = 0; for (let i = 0; i < a.length; i++) { answer += a[i] * b[i]; } return answer; } 풀이2 function solution(x, n) { var answer = []; for (let i = 0; i < n; i++) { answer.push(x + x * i); } return answer; }
JavaScript
복사
손수민(프로그래머스)
문제 1 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 문제 2 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.
JavaScript
복사
문제 1 풀이 let solution = (numbers) => numbers.reduce((a,c)=>(a+c),0) / numbers.length 문제 2 풀이 let solution = (num_list)=>num_list.reverse() 현태님 코멘트 function solution(num_list){ let answer =[]; for(let i =num_list.length-1; i>=0; i--){ answer.push(num_list[i]) } return answer }
JavaScript
복사
이예지(프로그래머스)
문제 1. 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2return하도록 solution 함수를 완성해주세요. 입출력 예 n result 144 1 976 2 문제 2. 군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다. 암호화된 문자열 cipher를 주고받습니다. 그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다. 문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요. 입출력 예 cipher code result "dfjardstddetckdaccccdegk" 4 "attack" "pfqallllabwaoclk" 2 "fallback"
JavaScript
복사
풀이 1. function solution(n) { return Number.isInteger(n**(1/2)) ? 1 : 2; } 풀이 2-1. function solution(cipher, code) { var answer = ''; for(let i = code-1; i < cipher.length ; i+=code){ answer += cipher[i]; } return answer; } 풀이 2-2. function solution(cipher, code) { var answer = ''; [...cipher].forEach((item, index)=>{ if((index+1) % code === 0) answer+=item }) return answer; }
JavaScript
복사