조원영(프로그래머스)
문제1
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
문제요약
두 배열의 순서대로(= 같은 인덱스끼리) 짝인데 true일때는 양수, false일때는 음수 됨
적용해서 다 더한 값 리턴
absolutes signs result
[4,7,12] [true,false,true] 9
[1,2,3] [false,false,true] 0
문제2
문제요약
숫자 배열 들어오면 그것들 중 3개 합해서 0되는 조합의 갯수 리턴하세요
입출력 예
number result
[-2, 3, 0, 2, -5] 2 (-2, 0, 2) , (3, 2, -5)
[-3, -2, -1, 0, 1, 2, 3] 5
[-1, 1, -1, 1] 0
JavaScript
복사
풀이
function solution(absolutes, signs) {
var answer = 0;
absolutes.forEach((a, i) => {
if (signs[i] === true) {
answer+=a
} else {
answer-=a
}
});
return answer;
}
풀이2
function solution(number) {
var answer = 0;
for (let i = 0; i < number.length - 2; i++) {
for (let j = i + 1; j < number.length - 1; j++) {
for (let k = j + 1; k < number.length; k++) {
if (number[i] + number[j] + number[k] == 0) {
answer++;
}
}
}
}
return answer;
}
JavaScript
복사
김미정(프로그래머스)
문제 1.
문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.
문제 2.
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
JavaScript
복사
풀이 1.
function solution(str1, str2) {
return (str1.includes(str2) ? 1 : 2)
}
// 배열이나 문자열안에 다른 문자열/배열이 들어있는지 비교하는 메서드 반환값은 불리언
풀이 2.
function solution(n) {
for(let i=1; i<= 1000000; i++) {
if (Math.pow(i,2) === n ) {
return 1;
}
}
return 2;
}
<예지님 커멘트>
function solution(n) {
return Number.isInteger(n**(1/2)) ? 1 : 2;
}
// Number.isInteger() 메서드는 주어진 값이 정수인지 여부를 확인하는 메서드
// ** => 제곱수, **1/2
<원영님 커멘트>
Math.pow(i,2) => i**2 변경가능
// 제곱 구하는 함수 Math.pow(아래숫자, 윗숫자)
// return 문은 함수를 즉시 종료시키고 값을 반환하는 역할을 합니다. 따라서 return 1;이 실행되면 함수가 즉시 종료되고 1이 반환됩니다. 그러나 Math.pow(i, 2) === n 조건이 거짓인 경우, 즉 n의 제곱근을 찾지 못한 경우에는 for 루프가 계속 실행됩니다. for 루프가 종료되면 return 2; 문이 실행되어 2가 반환됩니다.
JavaScript
복사
이예지(프로그래머스)
문제 1.
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
입출력 예
num k result
29183 1 3
232443 4 4
123456 7 -1
문제 2.
영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
입출력 예
my_string result
"Bcad" "abcd"
"heLLo" "ehllo"
"Python" "hnopty"
HTML
복사
풀이 1.
function solution(num, k) {
let list = num.toString();
return list.includes(k) ? list.indexOf(k) + 1 : -1;
}
풀이 2.
function solution(my_string) {
return my_string.toLowerCase().split('').sort().join('');
}
JavaScript
복사
손수민(프로그래머스)
문제 1
문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.
문제 2
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
문제 3
개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 병정개미는 3의 일개미는 1의 공격력을 가지고 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.
JavaScript
복사
문제 1풀이
function solution(str1, str2) {
if(str1.includes(str2)){
return 1
}else{
return 2
}
}
문제 2 풀이
1.
function solution(n) {
return n%(Math.sqrt(n))===0? 1:2
}
2.
function solution(n) {
return Math.sqrt(n) % 1 === 0 ? 1 : 2;
}
3.
function solution(n) {
return Number.isInteger(Math.sqrt(n))? 1:2
}
4.
function solution(n) {
return n%(n**(1/2))===0?1:2
}
문제 3 풀이
function solution(hp) {
return Math.floor(hp/5)+Math.floor((hp%5)/3)+(hp%5)%3
}
JavaScript
복사