프로그래머스 1단계 - K번째수
K번째수 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 3. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한 조건 🥨array의 길이는 1..
2022. 12. 9.
프로그래머스 1단계 - 폰켓몬
폰켓몬 문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 1. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 2. 첫 번째(3번), 세 번째(2번)..
2022. 12. 6.
프로그래머스 1단계 - 두 개 뽑아서 더하기
두 개 뽑아서 더하기 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 조건 🐋numbers의 길이는 2 이상 100 이하입니다. 🐋numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예시 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 🐋내가 한 풀이 반복문을 통해서 값들을 더해주면서 if문을 통해 서로 중복되는 숫자를 제외하고 answer에 넣어줍니다. 그다음으로 sort메서드를 사용하여 정렬해주면 완성! const numbers = [2,1,3..
2022. 12. 4.
프로그래머스 1단계 - 2016년
2016년 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한 조건 🦊2016년은 윤년입니다. 🦊2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 입출력 예시 a b result 5 24 "TUE" 🦊내가 한 풀이 요일에 관한 배열을 만든후, a와b를 toString()메서드를 사용하여 문자열로 만들어 줍니..
2022. 11. 30.
프로그래머스 1단계 - 최대공약수와 최소공배수
최대공약수와 최소공배수 문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 조건 😺두 수는 1이상 1000000이하의 자연수입니다. 입출력 예시 n m return 3 12 [3, 12] 2 5 [1, 10] 😺내가 한 풀이 유클리드호제법을 사용해서 해결하신분도 보았는데 그냥 평범한 for문과 if문을 사용해서 해결했습니다.😂 const n = 3, m = 12; function solution(n, m) { let num = 1; f..
2022. 11. 30.
프로그래머스 1단계 - 행렬의 덧셈
행렬의 덧셈 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 😈행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예시 arr1 arr2 return [[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]] [[1],[2]] [[3],[4]] [[4],[6]] 😈내가 한 풀이 반복문을 이용해서 마지막에 push를 써서 해결하였다. const arr1 = [[1,2],[2,3]], arr2 = [[3,4],[5,6]]; function solution(arr1, arr2) { v..
2022. 11. 27.
프로그래머스 1단계 - 부족한 금액 계산하기
부족한 금액 계산하기 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한 조건 😖놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 😖처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연..
2022. 11. 25.
프로그래머스 1단계 - 내적
내적 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한 조건 🫥a, b의 길이는 1 이상 1,000 이하입니다. 🫥a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력 예시 a a result [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 🫥내가 한 풀이 반복문을 사용하면 해결 const a = [1,2,3,4], b = [-3,-1,0,2]; function solution(a, b) { var answer =..
2022. 11. 24.
프로그래머스 1단계 - 제일 작은 수 제거하기
제일 작은 수 제거하기 문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 🫤arr은 길이 1 이상인 배열입니다. 🫤인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입출력 예시 arr return [4,3,2,1] [4,3,2] [10] [-1] 🫤내가 한 풀이 풀이를 생각하는중 가장 작은 숫자를 찾을 방법이 무엇이 있을까라는 생각에 검색을 하게 되었고, Math.min()라는 메서드를 알게 되었다..! indexOf..
2022. 11. 21.
프로그래머스 1단계 - 자연수 뒤집어 배열로 만들기
자연수 뒤집어 배열로 만들기 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 🤭n은 10,000,000,000이하인 자연수입니다. 입출력 예시 n return 12345 [5,4,3,2,1] 🤭내가 한 풀이 parseInt() 메서드를 사용해서 문자열로 만든 배열을 숫자로 변환하였다... let n = 12345; function solution(n) { var answer = []; let s = n.toString(); answer = s.split("").reverse().map(el => parseInt(el)); return answer; } 🤭다른 풀이 문자로 아닌 숫자로 푸신분도..
2022. 11. 16.
<