코딩테스트
-
[Programmers] 양꼬치 (Javascript)개발/코딩 테스트 2022. 12. 8. 18:28
양꼬치 10인분을 먹으면 음료수를 하나씩 서비스로 주는 가게에서 양꼬치 n인분 (1인분 12000원), 음료수 k개(1개 당 2000원)를 먹었다면 지불해야 하는 총액을 계산하는 문제 [나의 풀이] function solution(n, k) { return n * 12000 + k * 2000 - ( Math.trunc(n/10) ) * 2000; } [다른 사람의 풀이] function solution(n, k) { k-=~~(n/10); if (k < 0) k = 0; return n*12000+k*2000; } double tilde를 활용하는 풀이가 눈에 띄었다. 역시 다른 사람 풀이 보기가 최고...! [~ (tilde) 연산자 특징] • 비트의 부정 연산자 • 32bit signed integ..
-
[Programmers] 각도기 (Javascript)개발/코딩 테스트 2022. 12. 8. 17:59
0도 초과 ~ 90도 미만은 1(예각), 90도는 2(직각), 90도 초과 180도 미만은 3(둔각), 180도는 4(평각)를 반환하는 문제 [나의 풀이] function solution(angle) { let result = -1; if ( angle > 0 && angle 90 && angle < 180 ) { result = 3; } else if ( angle === 180 ) { result = 4; } return result; } [다른 사람의 풀이] function solution(angle) { return [0, 90, 91, 180].fil..
-
[Programmers] 숫자 비교하기 (Javascript)개발/코딩 테스트 2022. 12. 8. 17:31
간단하게 두 숫자를 비교하여 같으면 1을, 다르면 -1을 반환하는 문제 [나의 풀이] function solution(num1, num2) { return num1 === num2 ? 1 : -1; } [다른 사람의 풀이] function solution(num1, num2) { return ((num1 == num2)-0.5)*2; } 정말 간단한 문제라 깊게 생각하지 않고 바로 풀었는데, 다른 천재님께서 true일 경우에는 1을, false일 경우에는 0을 반환하는 것을 응용하셨다. 즉 num1과 num2가 같으면 num1 == num2 조건식의 반환값이 1이 되므로, (1 - 0.5) * 2 = 1을 반환한다. num1과 num2가 같지 않으면 num1 == num2 조건식의 반환값이 0이므로, (..