https://school.programmers.co.kr/learn/courses/30/lessons/120837
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 문제 ]

[ 내 풀이 ]
function solution(hp) {
// 장군5 병정3 일1
// 최소한의 병력
let g, m, w = 0; // 장군, 병정, 일
g = Math.floor(hp/5); // 장군개미 먼저 배정
m = Math.floor((hp - 5*g)/3); // 남은 수에서 병정개미 배정
w = hp - 5*g - 3*m; // 남은 hp만큼 일개미 배정
return g+m+w;
}
[ 다른 풀이 ]
// 내 풀이를 좀 더 간단하게 작성한 코드
function solution(hp) {
return Math.floor(hp/5)+Math.floor((hp%5)/3)+(hp%5)%3;
}
// 직관적인 한글변수명 사용으로 깔끔한 코드
function solution(hp) {
const 장군개미 = Math.floor(hp / 5);
const 병정개미 = Math.floor((hp - (장군개미 * 5)) / 3);
const 일개미 = hp - ((장군개미 * 5) + (병정개미 * 3));
return 장군개미+병정개미+일개미;
}
// Math.floor() 대신 ~~문법을 사용할 수도 있다!
function solution(hp) {
let ant = [5,3,1];
let ans = [];
for (let v of ant) {
ans.push(~~(hp/v));
hp%=v;
}
return ans.reduce((a,v)=>a+v,0);
}반응형
'Algorithm > Javascript' 카테고리의 다른 글
| [ 프로그래머스 ] 가위 바위 보 ( JS ) (1) | 2024.06.19 |
|---|---|
| [ 프로그래머스 ] 모스부호(1) ( JS ) (0) | 2024.06.18 |
| [ 프로그래머스 ] 순서쌍의 개수 ( JS ) (0) | 2024.06.18 |
| [ 프로그래머스 ] 진료순서 정하기 ( JS ) (0) | 2024.06.18 |
| [백준 - 문제풀이] 1000번 외 4개 문제 : 사칙연산 ( Node.js ) (0) | 2023.11.28 |
