728x90
반응형
1. 문제점
프로그래머스 알고리즘 문제풀이 - 자바스크립트 [개미군단]
2. 시도해본 것들
우선 문제를 보자마자 게임알고리즘 짜는것 같아서 살짝 두근두근 했다.
문제를 이해했을땐 역시 '이건 어떻게 풀지...?'
몇분 고민하다가 장군개미5부터 구하면 어떻게든 되지 않을까라고 생각했다.
3. 해결과정
count = parseInt(hp/5)
parseInt() - 문자열을 정수로 바꾸는 함수입니다.
나누기후에 몫을 구하려고 찾았는데,이 함수를 이용하면 장군개미 수를 구할 수 있었다(몫 구하기)
그럼 나머지 3짜리 병정개미와 1짜리 일개미는 어떻게 구하지....?
모르겠다 노가다해야지ㅠㅠㅠ
4. 알게 된 점
나의 문제풀이
function solution(hp) {
var answer = 0;
var count = 0;
//장군5 병정3 일1 ==>최소한 병력
count = parseInt(hp/5) //장군개미 숫자
if( (hp-(count*5)) === 4){ //나머지는 4,3,2,1 이니까 노가다..
count += 2
} else if ( (hp-(count*5)) === 3 ){
count += 1
} else if ( (hp-(count*5)) === 2 ){
count += 2
} else if ( (hp-(count*5)) === 1 ){
count += 1
} else {
count;
}
return count;
}
남의 문제풀이
function solution(hp) {
const 장군개미 = Math.floor(hp / 5);
const 병정개미 = Math.floor((hp - (장군개미 * 5)) / 3);
const 일개미 = hp - ((장군개미 * 5) + (병정개미 * 3));
return 장군개미+병정개미+일개미;
}
이게 내가 풀고 싶었던 풀이방법이다ㅠㅠ
병정개미는 나머지값을 나눠서 구할 수 있었고, (3보다크면 1 작으면 0)
일개미는 나머지를 구했으니 총합에서 장군+병정을 뺀 값
한줄만에 멋지게 풀순 없지만
저런식으로 깔끔하게 풀고 싶었는데 아쉽다.
728x90
반응형
'일기 > TIL' 카테고리의 다른 글
TIL: Today I Learned 52일차 [모음제거] (0) | 2023.01.26 |
---|---|
TIL: Today I Learned 51일차 [숨어있는 숫자의 덧셈(1)] (0) | 2023.01.25 |
TIL: Today I Learned 49일차 [제곱수 판별하기] (0) | 2023.01.19 |
TIL: Today I Learned 48일차 [자릿수 더하기] (0) | 2023.01.18 |
TIL: Today I Learned 47일차 [문자열안에 문자열] (0) | 2023.01.17 |