[JS] 반올림(round), 내림(floor), 올림(ceil)
in Algorithm
프로그래머스 ‘가운데 글자 가져오기’ 문제.
배열의 길이만큼 돌고 만약에 배열의 길이 짝수라면 중간의 2글자를 넣어주고
홀수라면 값 인덱스번째의 값 넣어주기
function solution(s) {
var answer = '';
const arr = s.split('');
for(let i=0;i<arr.length;i++){
if(arr.length % 2 === 0){
answer = arr[Math.floor(arr.length/2)-1];
answer += arr[Math.floor(arr.length/2)];
}else{
answer = arr[Math.floor(arr.length/2)];
}
}
return answer;
}
이때 사용할 수 있는 내장함수에는 floor
, ceil
, round
가 있다.
Math.floor : 내림처리
입력받은 숫자보다 작거나 같은 정수중 가장 큰 정수 반환
Math.floor(1.777); // 1
Math.floor(null); // 0
Math.floor(-1); // -1
Math.floor(-1.111); // -2
Math.ceil : 올림처리
입력받은 숫자보다 크거나 같은 정수중 가장 작은 정수 반환
Math.ceil(1.777); // 2
Math.ceil(null); // 0
Math.ceil(-1); // -1
Math.ceil(-1.111); // -1
Math.round : 반올림처리
소수점 이하의 값이 0.5보다 크면, 입력받은 수보다 다음으로 높은 절대값을 가지는 정수를 반환
소수점 이하의 값이 0.5보다 작으면, 입력받은 수보다 절대값이 더 낮은 정수를 반환
소수점 이하의 값이 0.5와 같으면, 입력받은 수보다 큰 다음 정수를 반환
Math.round(1.777); // 2
Math.round(null); // 0
Math.round(0); // 0
Math.round(-1); // -1
출처 : https://hianna.tistory.com/446