ceil

문제 설명 문제 풀이 방법 문제의 대진표에서 첫번째 대전이 모두 끝나면 승리자 들은 모두 1부터 n/2까지 순서로 다시 재배치된다. 이런 방법으로 계속해서 가면 a와 b 가 만나 경기가 끝나게 되면 두사람중 한명이 올라가는 번호는 같을 것이다. 내가 작성한 코드 const solution = (n,a,b) => { let cnt = 0; while(a !== b){ a = Math.ceil(a/2); b = Math.ceil(b/2); cnt++; } return cnt }
문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 문제 풀이 방법 이번 문제는 Math 메서드를 사용해서 풀어봤다. 우선 sqrt()를 이용했지만 이 메서드는 소숫점 8자리밖에 안나와 정확도가 떯어져서 첫번째 시도에서는 불통이 3개있었다. 이 부분은 ceil()을 사용해 해결했는데, 소수점 자리에 값이 있다면 +1이 되는 성질을 이용해 비교시 결과를 위해 사용해서 풀었다. 코드 function solution(n) { const num = Math..
58청춘
'ceil' 태그의 글 목록