코딩테스트 Lv.2 100문제(15)
-
예상 대진표
문제: 예상 대진표 제출 내역 문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 남을 때까지 진행됩니다. 이때, 처음 라운드에서 A번을 가진 참가자는 경쟁자..
2024.04.02 -
N개의 최소공배수
N개의 최소공배수 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한 사항 arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100 이하인 자연수입니다. 입출력 예 arr result [2,6,8,14] 168 [1,2,3] 6 const gcd = (a,b) => { if(b === 0){ return a; }else if..
2024.03.20 -
구명보트
구명보트 function solution(people, limit) { people.sort((a, b) => a - b); let boats = 0; let i = 0; let j = people.length - 1; while (i b-a);//작은값순으로 for(let i=0;i=people.length/2;i--){ answer2.push(arr1[i]) } let stack =[] answer2.sort((a,b)=>a-b) stack = answer.concat(answer2) for(let i=0;i=stack.length/2;j++){ if(stack[i]+stack[j]
2024.03.12 -
점프와 순간 이동
점프와 순간 이동 function solution(n) { let ans = 0; while (n !== 0) { if (n % 2 === 1) { ans++; n =n-1; } else { n =n / 2; } } return ans; } 문제 설명 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언 슈트를 착용하..
2024.03.11 -
영어 끝말잇기
영어 끝말잇기 function solution(n, words) { for(let i=1;i
2024.03.07 -
카펫
카펫 문제 설명 function solution(brown, yellow) { var answer = []; let sum = brown + yellow; for (let height = 3; height
2024.03.06