문제 설명어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.제한사항absolutes의 길이는 1 이상 1,000 이하입니다.absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.signs의 길이는 absolutes의 길이와 같습니다.signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.입출력 예absolutes signs result[4,7,12][true,false,true]9[1,2,3][false,false,true]0입출력 예..
study/Algorithm
문제 설명임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.제한 사항n은 1이상, 50000000000000 이하인 양의 정수입니다.입출력 예nreturn1211443-1입출력 예 설명입출력 예#1121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다.입출력 예#23은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. function solution(n) { return Math.sqrt(n) % 1 === 0 ? (Math.sqrt(n) + 1) ** 2 : -1}Math.sqrt() : 숫자의 제곱근 반환..
문제 설명함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.제한 조건n은 1이상 8000000000 이하인 자연수입니다.입출력 예nreturn118372873211 function solution(n) { return Number((n+'').split('').sort((a, b)=>b-a).join(''))}
문제 설명자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.제한사항3 ≤ n ≤ 1,000,000입출력 예nresult1031211입출력 예 설명입출력 예 #110을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다.입출력 예 #212를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. function solution(n) { let num = 0; while (n % num !== 1) { ..
문제 설명함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.제한 조건x는 -10000000 이상, 10000000 이하인 정수입니다.n은 1000 이하인 자연수입니다.입출력 예xnanswer25[2,4,6,8,10]43[4,8,12]-42[-4, -8] function solution(x, n) { const arr = [x]; for (i = 0; i
문제 설명양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.제한사항1 ≤ n ≤ 30입출력 예nresult4[[1, 2, 3, 4], [12, 13, 14, 5], [11, 16, 15, 6], [10, 9, 8, 7]]5[[1, 2, 3, 4, 5], [16, 17, 18, 19, 6], [15, 24, 25, 20, 7], [14, 23, 22, 21, 8], [13, 12, 11, 10, 9]]입출력 예 설명입출력 예 #1예제 1번의 n의 값은 4로 4 × 4 배열에 다음과 같이 1부터 16까지 숫자를 채울 수 있습니다.행/열0123012341121..
문제 설명1부터 6까지 숫자가 적힌 주사위가 네 개 있습니다. 네 주사위를 굴렸을 때 나온 숫자에 따라 다음과 같은 점수를 얻습니다.네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다.세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q(p ≠ q)라면 (10 × p + q)^2 점을 얻습니다.주사위가 두 개씩 같은 값이 나오고, 나온 숫자를 각각 p, q(p ≠ q)라고 한다면 (p + q) × |p - q|점을 얻습니다.어느 두 주사위에서 나온 숫자가 p로 같고 나머지 두 주사위에서 나온 숫자가 각각 p와 다른 q, r(q ≠ r)이라면 q × r점을 얻습니다.네 주사위에 적힌 숫자가 모두 다르다면 나온 숫자 중 가장 작은 숫자 만큼의 점수를 얻습니다.네 ..
문제 설명정수 배열 arr와 query가 주어집니다.query를 순회하면서 다음 작업을 반복합니다.짝수 인덱스에서는 arr에서 query[i]번 인덱스를 제외하고 배열의 query[i]번 인덱스 뒷부분을 잘라서 버립니다.홀수 인덱스에서는 arr에서 query[i]번 인덱스는 제외하고 배열의 query[i]번 인덱스 앞부분을 잘라서 버립니다.위 작업을 마친 후 남은 arr의 부분 배열을 return 하는 solution 함수를 완성해 주세요.제한사항5 ≤ arr의 길이 ≤ 100,0000 ≤ arr의 원소 ≤ 1001 ≤ query의 길이 query의 각 원소는 0보다 크거나 같고 남아있는 arr의 길이 보다 작습니다.입출력 예 arr query result[0, 1, 2, 3, 4, 5][4, 1, 2]..
문제 설명0번부터 n - 1번까지 n명의 학생 중 3명을 선발하는 전국 대회 선발 고사를 보았습니다. 등수가 높은 3명을 선발해야 하지만, 개인 사정으로 전국 대회에 참여하지 못하는 학생들이 있어 참여가 가능한 학생 중 등수가 높은 3명을 선발하기로 했습니다.각 학생들의 선발 고사 등수를 담은 정수 배열 rank와 전국 대회 참여 가능 여부가 담긴 boolean 배열 attendance가 매개변수로 주어집니다. 전국 대회에 선발된 학생 번호들을 등수가 높은 순서대로 각각 a, b, c번이라고 할 때 10000 × a + 100 × b + c를 return 하는 solution 함수를 작성해 주세요.제한사항3 ≤ rank의 길이 = attendance의 길이 ≤ 100rank[i]는 i번 학생의 선발 고사..
문제 설명직사각형 형태의 그림 파일이 있고, 이 그림 파일은 1 × 1 크기의 정사각형 크기의 픽셀로 이루어져 있습니다. 이 그림 파일을 나타낸 문자열 배열 picture과 정수 k가 매개변수로 주어질 때, 이 그림 파일을 가로 세로로 k배 늘린 그림 파일을 나타내도록 문자열 배열을 return 하는 solution 함수를 작성해 주세요.제한사항1 ≤ picture의 길이 ≤ 201 ≤ picture의 원소의 길이 ≤ 20모든 picture의 원소의 길이는 같습니다.picture의 원소는 '.'과 'x'로 이루어져 있습니다.1 ≤ k ≤ 10입출력 예picture k result[".xx...xx.", "x..x.x..x", "x...x...x", ".x.....x.", "..x...x..", "...x..