본문 바로가기

전체 글136

[Level2] 숫자의 표현 답안 및 풀이 ◇ 문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. ◇ 제한 조건 n은 10,000 이하의 자연수 입니다. ◇ 입출력 예시 n result 15 4 ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요. class Solution { pu.. 2021. 12. 26.
[Level2] 최댓값과 최솟값 답안 및 풀이 ◇ 문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. ◇ 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. ◇ 입출력 예시 s return "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요. class Solution { public String so.. 2021. 12. 25.
[Level2] 최솟값 만들기 답안 및 풀이 ◇ 문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = .. 2021. 12. 24.
[Level2] 행렬의 곱셈 답안 및 풀이 ◇ 문제 설명 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요. ◇ 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다. 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다. 곱할 수 있는 배열만 주어집니다. ◇ 입출력 예시 arr1 arr2 return [[1, 4], [3, 2], [4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]] [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] .. 2021. 12. 23.
[Level2] 피보나치 수 답안 및 풀이 ◇ 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. ◇ 제한 조건 n은 2 이상 100,000 이하인 자연수입니다. ◇ 입출력 예시 n return 3 2 5 5 ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습.. 2021. 12. 22.
[Level2] JadenCase 문자열 만들기 답안 및 풀이 ◇ 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. ◇ 제한 조건 s는 길이 1 이상인 문자열입니다. s는 알파벳과 공백문자(" ")로 이루어져 있습니다. 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 ) ◇ 입출력 예시 s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" "For The Last Week" ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에 맞는 .. 2021. 12. 21.
[Level2] 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 ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에.. 2021. 12. 20.
[Level1] 콜라츠 추측 답안 및 풀이 ◇ 문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요 ◇ 제한 조건 입력된 수, num은 1 이상 8000000 미만인 정수입니다. ◇ .. 2021. 7. 27.
[Level1] 평균 구하기 답안 및 풀이 ◇ 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. ◇ 제한 조건 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. ◇ 입출력 예시 arr return [1, 2, 3, 4] 2.5 [5, 5] 5 ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요. function solution(arr) { var answer = 0; return answer; } ◇ 답안 function solution(arr) { var answer = 0; answer = arr.reduce((sum, current) => sum + .. 2021. 7. 27.