문제 : 문자열 내림차순으로 배치하기
사용 메서드 : split(), sort(), join(‘’)
풀이 과정 :
내림차순으로 정렬을 위해 sort() 사용.
sort()는 배열에 사용되므로 split()을 사용해 배열로 변환.
오름차순이 아닌 내림차순으로 나열해야 하기 때문에 내림차순에 해당하는 형식으로 변경.
return 값은 문자열이므로 join() 메서드를 통해 문자열로 변경.
코드
function solution(s) {
return s.split('').sort((a,b)=>{
if(a>b){
return -1
}else if(a<b){
return 1
}else{
return 0
}
}).join('')
}문제 : 부족한 금액 계산하기
풀이 과정 :
얼마를 사용해야 하는지 계산해주자. ( for문 )
돈이 부족한 경우 부족한 금액을, 부족하지 않은 경우 0을 반환한다. ( 삼항연산자 )
코드
function solution(price, money, count) {
let answer = 0;
for(let i = 1; i <= count; i++){
answer += price * i
}
return money-answer < 0 ? answer-money : 0 ;
}문제 : 약수의 개수와 덧셈
풀이 과정 :
solution 함수의 인자 left, right를 받아 범위를 지정해 for문을 돌려준다.
1차 for문으로 들어와 count를 0 으로 지정해주자.
i 의 약수 개수를 구해야 하기 때문에 ( 홀, 짝을 알아야 하기 때문 ) for문을 한번 더 돌려 count수를 구해준다.
2차 for문에서 나와 count 홀, 짝에 의해 덧셈 뺄셈을 해준다.
이중 for문 version
function solution(left, right) {
let answer = 0;
for(let i = left;i<=right;i++){
let count = 0;
for(let j = 1;j<=i;j++){
if(i%j===0) {
count++;
}
}
if(count%2===0){
answer = answer + i
}else{
answer = answer - i
}
}
return answer;
}제곱근 사용 version
function solution(left, right) {
var answer = 0;
for (let i = left; i <= right; i++) {
if (Number.isInteger(Math.sqrt(i))) {
answer -= i;
} else {
answer += i;
}
}
return answer;
}문제 : 정수 제곱근 판별
풀이 과정 :
for문을 통해 전체 사용 금액을 구한다.
금액이 부족한지 아닌지 판단 후 return 해준다.
코드
function solution(price, money, count) {
let answer = 0;
for(let i = 1; i <= count; i++){
answer += price * i
}
return money-answer < 0 ? answer-money : 0 ;
}Share article