김미정(프로그래머스)
문제 1.
개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.
문제 2.
군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.
암호화된 문자열 cipher를 주고받습니다.
그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.
문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.
입출력 예 #1
cipher "dfjardstddetckdaccccdegk" code 4
"dfjardstddetckdaccccdegk" 의 4번째, 8번째, 12번째, 16번째, 20번째, 24번째 글자를 합친 "attack"을 return합니다.
문제 3.
가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
JavaScript
복사
풀이 1.
function solution(hp) {
var answer = 0;
return parseInt(hp/5)+parseInt((hp%5)/3)+parseInt((hp%5)%3)
}
풀이 2.
function solution(cipher, code) {
var answer = '';
[...cipher].map((value, index) => {
if ((index+1) % code === 0) answer += value;});
return answer;
}
풀이 3-1.
function solution(rsp) {
var answer = '';
[...rsp].map((v)=>{
if(v==='2'){
answer += 0
}else if(v==='0'){
answer += 5
}else if(v==='5'){
answer += 2
}
})
return answer;
}
풀이 3-2.
function solution(rsp) {
var answer = '';
[...rsp].map((v)=>{
(v==='2') ? answer += 0 : (v==='0') ? answer += 5 : answer += 2 })
return answer;
}
JavaScript
복사
이예지 (프로그래머스)
문제 1.
약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.
입출력 예
n result
10 5 // 10 이하 합성수는 4, 6, 8, 9, 10 로 5개
15 8 // 15 이하 합성수는 4, 6, 8, 9, 10, 12, 14, 15 로 8개
문제 2.
문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
입출력 예
my_string result
"people" "peol"
"We are the world" "We arthwold"
HTML
복사
풀이 1.
function solution(n) {
var answer = 0;
for(let i = 4; i <= n; i++){
for(let j = 2; j < i; j++){
if(i % j === 0){
answer += 1;
break;
}
}
}
return answer;
}
풀이 2.
function solution(my_string) {
return [...new Set(my_string)].join('');
}
JavaScript
복사
조원영(프로그래머스)
문제
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
입출력 예
n result
45 7
입출력 예 설명
답을 도출하는 과정은 다음과 같습니다.
n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현
45 1200 0021 7
JavaScript
복사
풀이
function solution(n) {
let answer = 0;
let temp = '';
while (n >= 3) {
temp = (n % 3) + temp;
n = parseInt(n / 3);
}
// n = 45 일때, temp = '0'
// n = 15 일때, temp = '00'
// n = 5 일때, temp = '200'
// n = parseInt(5 / 3) = 1 이므로 while문 빠져나옴
temp = n + temp;
// temp = '1200'
let 배열 = temp.split('');
// 배열 = ['1','2','0','0']
배열.forEach((a, i) => {
answer += a * 3 ** i;
});
return answer;
}
JavaScript
복사
유하은(프로그래머스)
문제)
약수의 합
문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
n은 0 이상 3000이하인 정수입니다.
입출력 예
n return
12 28
5 6
JavaScript
복사
풀이)
function solution(n) {
let answer = 0;
for(let i=1; i<=n; i++){
if(n % i === 0){ //약수라면
answer+=i;
}
}
return answer;
}
JavaScript
복사
손수민(프로그래머스)
문제 1
군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.
암호화된 문자열 cipher를 주고받습니다.
그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.
문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.
문제 2
가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
JavaScript
복사
풀이 1
function solution(cipher, code) {
let answer = '';
for(let i = 0; i<cipher.length; i++){
if((i+1)%code===0){
answer +=cipher[i]
}
}
return answer;
}
풀이 2
function solution(rsp) {
let answer =''
for(let i = 0; i < rsp.length; i++){
if(rsp[i].includes('2')){
answer += '0'
}else if(rsp[i].includes('0')){
answer += '5'
}else answer += '2'
}
return answer
}
JavaScript
복사