김미정(프로그래머스)
문제 1.
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
문제 2.
정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
JavaScript
복사
풀이 1.
function solution(angle) {
if (0 < angle <= 180){
if(angle < 90){
return 1;
} else if (angle == 90) {
return 2;
} else if (angle < 180){
return 3;
} else {
return 4;
}
}
}
// == 표시를 잘할것... 📍
<원영님 코멘트>: 애초에 들어오는 값이 0 <= 180 이라서 제일 위에 if문은 삭제해도됨
<현태님 코멘트>: == => ===
풀이 2.
function solution(n) {
answer = 0;
for (let i = 0; i <= n; i += 2) {
answer += i
}
return answer;
}
JavaScript
복사
유하은(프로그래머스)
문제1 나이출력
나이출력 https://school.programmers.co.kr/learn/courses/30/lessons/120829
JavaScript
복사
function solution(age) {
const x = 2022 - age + 1;
return x;
}
JavaScript
복사
문제2 두 수의 나눗셈
https://school.programmers.co.kr/learn/courses/30/lessons/120806
문제 설명
정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.
JavaScript
복사
function solution(num1, num2) {
var answer = parseInt(num1 / num2 * 1000) ;
return answer;
}
JavaScript
복사
조원영(프로그래머스)
문제
코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다.
원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다.
한 번 사용한 카드는 다시 사용할 수 없습니다.
카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다.
기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다.
문자열로 이루어진 배열 cards1, cards2와 원하는 단어 배열 goal이 매개변수로 주어질 때, cards1과 cards2에 적힌 단어들로 goal를 만들 있다면 "Yes"를, 만들 수 없다면 "No"를 return하는 solution 함수를 완성해주세요.
cards1 cards2 goal result
["i", "drink", "water"] ["want", "to"] ["i", "want", "to", "drink", "water"] "Yes"
["i", "water", "drink"] ["want", "to"] ["i", "want", "to", "drink", "water"] "No"
JavaScript
복사
function solution(cards1, cards2, goal) {
let index1 = 0;
let index2 = 0;
for (let i = 0; i < goal.length; i++) {
if (goal[i] === cards1[index1]) {
index1++;
} else if (goal[i] === cards2[index2]) {
index2++;
} else {
return 'No';
}
}
return 'Yes';
}
JavaScript
복사
이예지(프로그래머스)
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
입출력 예)
my_string n result
"hello" 3 "hhheeellllllooo"
JavaScript
복사
function solution(my_string, n) {
let answer = '';
for(let i = 0; i < my_string.length; i++){
for(let j = 0; j < n; j++){
answer += my_string[i];
}
}
return answer;
}
JavaScript
복사
손수민(프로그래머스)
문제
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
JavaScript
복사
풀이
function solution(array) {
let i = parseInt(Math.floor(array.sort((a,b)=>a-b).length/2))
var answer = array[i];
return answer;
}
원영: parseInt와 Math.floor중에 하나만 써도 가능할 것 같습니다.
변경
function solution(array) {
let i = Math.floor(array.sort((a,b)=>a-b).length/2)
var answer = array[i];
return answer;
}
JavaScript
복사
김현태(프로그래머스)
function solution(today, terms, privacies) {
const answer = [];
const map = new Map();
for(let term of terms){
const [alpha, month] = term.split(' ');
map.set(alpha, month);
}
for(let i = 0; i < privacies.length; i++){
const [date, type] = privacies[i].split(' ');
let [year, month, day] = date.split('.').map(Number);
let addMonth = Number(map.get(type));
year += parseInt(addMonth / 12);
month += addMonth % 12;
if (month > 12){
year += 1;
month %= 12;
}
console.log(year, month, day);
const [tY, tM, tD] = today.split('.').map(Number);
// console.log(tY,tM,tD)
if (year < tY){
answer.push(i+1);
continue;
} else if (year === tY){
if (month < tM) {
answer.push(i+1);
continue;
} else if (month === tM){
if (day <= tD) {
answer.push(i+1);
continue;
}
}
}
}
return answer
}
JavaScript
복사