제코베 JS 100제
제코베 JS 100제 / 69 / 골드바흐의 추측
골드바흐의 추측(Goldbach's conjecture)은 오래전부터 알려진 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 개의 소수(Prime number)의 합으로 표시할 수 있다는 것이다. 이때 하나의 소수를 두 번 사용하는 것은 허용한다. - 위키백과 위 설명에서 2보다 큰 모든 짝수를 두 소스의 합으로 나타낸 것을 골드바흐 파티션이라고 합니다. 예) 100 == 47 + 53 56 == 19 + 37 2보다 큰 짝수 n이 주어졌을 때, 골드바흐 파티션을 출력하는 코드를 작성하세요. * 해당 문제의 출력 형식은 자유롭습니다. 가능하시다면 골드바흐 파티션 모두를 출력하거나, 그 차가 작은 것을 출력하거나 그 차가 큰 것 모두 출력해보세요. /** * n까지의 인덱스를 가진 배열에서 n이 소수라..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdhb4vh%2FbtrLDRj2n6n%2FOagIbkG6ky7KfsBx5vepQK%2Fimg.png)
제코베 JS 100제 / 68 / 버스 시간표
학교가 끝난 지원이는 집에 가려고 합니다. 학교 앞에 있는 버스 시간표는 너무 복잡해서 버스 도착 시간이 몇 분 남았는지 알려주는 프로그램을 만들고 싶습니다. 버스 시간표와 현재 시간이 주어졌을 때 버스 도착 시간이 얼마나 남았는지 알려주는 프로그램을 만들어주세요. - 버스 시간표와 현재 시간이 입력으로 주어집니다. - 출력 포맷은 "00시 00분"입니다. 만약 1시간 3분이 남았다면 "01시간 03분"으로 출력해야 합니다. - 버스 시간표에 현재 시간보다 이전인 버스가 있다면 "지나갔습니다."라고 출력합니다. /** * 버스 시간과 현재의 시간을 인자로 받아서 지나갔는지, * * 안지나갔다면 얼마나 남았는지 알려주는 함수 * * @param {String} bus_time 버스가 오는 시간 * @par..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqzHHk%2FbtrLF4vdNOe%2FjiHrdTsA30Jw0DACk64CYk%2Fimg.png)
제코베 JS 100제 / 67 / 민규의 악수
광장에서 모인 사람들과 악수를 하는 행사가 열렸습니다. 참가자인 민규는 몇명의 사람들과 악수를 한 후 중간에 일이 생겨 집으로 갔습니다. 이 행사에서 진행된 악수는 총 n번이라고 했을 때, 민규는 몇 번의 악수를 하고 집으로 돌아갔을까요? 그리고 민규를 포함한 행사 참가자는 몇 명일까요? - 악수는 모두 1대 1로 진행이 됩니다. - 민규를 제외한 모든 참가자는 자신을 제외한 참가자와 모두 한번씩 아굿를 합니다. - 같은 상대와 중복된 악수는 카운트 하지 않습니다. - 민규를 제외한 참가자는 행사를 모두 마쳤습니다. 예를들어 행사에서 59회의 악수가 진행되었다면 민규는 4번의 악수를 하였고 민규를 포함한 참가자는 12명이다. 행사에서 진행된 악수 횟수(n)를 입력으로 받으면 민규의 악수 횟수와 행사 참가..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIkmDQ%2FbtrLu9p7ApC%2FWfUfHLKB17ZenfByg827U1%2Fimg.png)
제코베 JS 100제 / 66 / 블럭탑쌓기
탑을 쌓기 위해 각 크기별로 준비된 블럭들을 정해진 순서에 맞게 쌓아야 합니다. 순서에 맞게 쌓지 않으면 무너질 수 있습니다. 예를 들면 정해진 순서가 BAC 라면 A 다음 C가 쌓아져야 합니다. 선행으로 쌓아야 하는 블럭이 만족된 경우라면 탑이 무너지지 않습니다. - B를 쌓지 않아도 A와 C를 쌓을 수 있습니다. - B 다음 블럭이 C가 될 수 있습니다. 쌓아져 있는 블럭 탑이 순서에 맞게 쌓아져 있는지 확인하세요. 1. 블럭은 알파벳 대문자로 표기합니다. 2. 규칙에 없는 블럭이 사용될 수 있습니다. 3. 중복된 블럭은 존재하지 않습니다. function blockTowerStack(towers, rule) { let result = []; for (const tower of towers) { le..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCvRxc%2FbtrLtZIvMu0%2FsKGOGNF2CsDdFULh474s2k%2Fimg.png)
제코베 JS 100제 / 65 / 변형된 리스트
a = [1, 2, 3, 4] b = [a, b, c, d] 이런 리스트가 있을 때 [[1, a], [b, 2], [3, c], [d, 4]] 이런 식으로 a, b 리스트가 번갈아가면서 출력되게 해주세요. function deformedList(a, b) { let result = Array.from({ length: a.length }, () => Array(2)); let [idx_a, idx_b] = [0, 1]; for (let i = 0; i < a.length; i++) { result[i][idx_a] = a[i]; result[i][idx_b] = b[i]; idx_a ^= 1; idx_b ^= 1; } console.log(result); } const a = [1, 2, 3, 4]; c..
제코베 JS 100제 / 64 / 이상한 엘레베이터
정량 N에 정확히 맞춰야만 움직이는 화물용 엘레베이터가 있습니다. 화물은 7kg, 3kg 두 가지이며 팔이 아픈 은후는 가장 적게 화물을 옮기고 싶습니다. 예를 들어 정량이 24kg이라면 3kg 8개를 옮기는 것보다는 7kg 3개, 3kg 1개 즉 4개로 더 적게 옮길 수 있습니다. 입력 정량 N이 입력됩니다. 출력 가장 적게 옮길 수 있는 횟수를 출력합니다. 만약 어떻게 해도 정량이 N이 되지 않는다면 -1을 출력합니다. /** * 정량 N에 정확히 맞춰야만 움직이는 화물용 엘리베이터가 있습니다. * 화물은 7kg, 3kg 두 가지이며 팔이 아픈 은후는 가장 적게 화물을 옮기고 싶습니다. * 예를 들어 정량이 24kg이라면 3kg 8개를 옮기는 것보다는 * 7kg 3개, 3kg 1개 즉 4개로 더 적게..