1. 중앙값 구하기 정답 function solution(array) { return array[Math.floor(array.sort((a,b)=>b-a).length/2)]; } 풀이 배열안의 값을 크기의 순서대로 정렬 했을 때 중앙값을 구해야 하므로 우선 sort를 이용해 array를 내림차순 이나 오름차순 정렬 해준다. 그 후 배열의 길이를 2로 나누고 Math.floor 메소드를 이용해 값을 내림 해준다. 그 내림한 값은 array 의 index 번호로 들어가게 되고 중앙값을 리턴하게 된다. 정리 어떠한 배열의 중앙값을 구할 때는 배열안의 값들을 정렬해준 뒤 중앙값을 구하면 쉽게 구할 수 있다. 2. 문자 반복 출력하기 정답 function solution(my_string, n) { let a..
Algorithms
1. 피자 나눠 먹기 (3) 정답 function solution(slice, n) { return Math.ceil(n / slice) } 풀이 어찌됐든 n명의 사람이 slice 조각 만큼 자른 피자를 한 조각 이상씩 먹어야 하므로 못 먹는 사람이 존재해선 안된다. 10명의 사람이 7조각으로 자른 피자를 먹는다고 가정했을 때 최소 2판이 필요하다. 이는 10/7 = 1.xx 가 나오게 될 것이다. 여기서 key point 는 1.xx 에서 Math.ceil 이라는 올림 메소드를 사용해 피자가 최소 몇판이 필요한지를 구할 수 있게 된다. 그러므로 답은 Math.ceil(n/slice)을 return 시켜주면 된다. 정리 올림 메소드: Math.ceil() 반올림 메소드: Math.round() 내림 메소..
1. 나이 출력 정답 function solution(age) { var answer = 0; answer = 2022 - age +1; return answer; } 풀이 2022년 기준이므로 2022에 나이를 빼주고 1을 더해줘야 원하는 값이 나오게 된다. 2. 양꼬치 정답 function solution(n, k) { let mok = Math.floor(n / 10) return ((k - mok) * 2000) + (n * 12000); } 풀이 Math.floor 메소드를 사용해 몫을 구해주고 몫을 음료 개수와 빼줘 가격을 낮춰 음료 가격을 구해주고 인분과 12000을 곱해 양꼬치 가격을 구해줘 둘이 더한 값을 출력해 주었다. 3. 두수의 곱 정답 function solution(num1, n..