김미정(프로그래머스)
문제 1.
선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.
문제 2.
머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.
JavaScript
복사
풀이 1.
function solution(sides) {
const answer = sides.sort((a,b)=> b-a);
if (answer[0] < answer[1] + answer[2]) {
return 1
} else return 2
}
// arr.sort((a,b) => b - a) 복습
<프로그래머스 삼항연산자 풀이>
function solution(sides) {
sides = sides.sort((a,b) => a-b)
return sides[0]+sides[1] > sides[2] ? 1 : 2;
}
풀이 2-1.
function solution(message) {
return (message.split("").length) * 2
}
풀이 2-2.
function solution(message) {
return (message.length) * 2
}
// splite()은 String 객체를 지정한 구분자를 이용하여 문자열로 나눠주는 함수
// split(separator, limit)
// split(끊어줄 기준, 문자열 최대 개수)
// 🔴length는 빈칸도 세어준다!🔴
JavaScript
복사
조원영(프로그래머스)
문제
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
입출력 예
left right result
13 17 43
다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다.
수 약수 약수의 개수
13 1, 13 2
14 1, 2, 7, 14 4
15 1, 3, 5, 15 4
16 1, 2, 4, 8, 16 5
17 1, 17 2
JavaScript
복사
풀이
function solution(left, right) {
var answer = 0;
for (let a = left; a <= right; a++) {
if (Number.isInteger(a ** (1 / 2))) {
// 약수의 개수 홀수일 때 (제곱수일때)
answer -= a;
} else {
// 약수의 개수 짝수일 때
answer += a;
}
}
return answer;
}
JavaScript
복사
이예지(프로그래머스)
문제.
문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
입출력 예
my_string result
"aAb1B2cC34oOp" 10
"1a2b3c4d123" 16
HTML
복사
풀이 1.
function solution(my_string) {
var answer = 0;
[...my_string].forEach(function(item){
(!isNaN(item)) ? answer += parseInt(item) : answer += 0; })
return answer;
}
풀이 2.
function solution(my_string) {
var answer = 0;
return my_string.split("").filter((item) => !isNaN(item)).reduce((acc, cur) => Number(acc)+Number(cur), 0)
}
JavaScript
복사
손수민(프로그래머스)
문제1
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
문제2
정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.
JavaScript
복사
문제1 풀이
function solution(my_string) {
let result = ""
for(const i of my_string){
result = i + result
}
return result
}
문제 2 풀이
function solution(array, n) {
let answer= array.filter((v)=>v===n)
return answer.length;
}
JavaScript
복사
유하은(프로그래머스)
문제1) 소문자로 바꾸기
문제 설명
알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
제한사항
1 ≤ myString의 길이 ≤ 100,000
myString은 알파벳으로 이루어진 문자열입니다.
입출력 예
myString result
"aBcDeFg" "abcdefg"
"aaa" "aaa"
---
문제2)
길이에 따른 연산
문제 설명
정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요.
제한사항
2 ≤ num_list의 길이 ≤ 20
1 ≤ num_list의 원소 ≤ 9
입출력 예
num_list result
[3, 4, 5, 2, 5, 4, 6, 7, 3, 7, 2, 2, 1] 51
[2, 3, 4, 5] 120
JavaScript
복사
풀이1)
function solution(myString) {
let answer = '';
return myString.toLowerCase();
}
풀이2)
function solution(num_list) {
let answer = 0;
if(num_list.length >10){
for(let i = 0; i < num_list.length; i++){
answer += num_list[i]
}
}
if(num_list.length < 11){
answer = 1;
for(let i = 0; i < num_list.length; i++){
answer = answer * num_list[i]
}
}
return answer;
}
JavaScript
복사