프로그래머스 Lv.1 : 41. 두 개 뽑아서 더하기
프로그래머스Lv.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] 입출력 예 설명 입출력 예#1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) ✔ 3 = 2 + 1 입니다. ✔ 4 = 1 + 3 입니다. ✔ 5 = 1 + ..
2022. 12. 7.
프로그래머스 Lv.1 : 39. 모의고사
프로그래머스Lv.1 : 모의고사 ■ 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 retur..
2022. 12. 5.
프로그래머스 Lv.1 : 38. k번째 수
프로그래머스Lv.1 : k번째 수 ■ 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. ■ 내멋대로 풀어헤치기..
2022. 12. 5.
프로그래머스 Lv.1 : 33. 2016년
프로그래머스Lv.1 : 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" ■ 내멋대로 풀어헤치기😜 function solution(a, b) { con..
2022. 11. 28.
프로그래머스 Lv.1 : 32. 시저 암호
{ if (el == " "){ return el; } const tmp = el.charCodeAt() return el.toUpperCase().charCodeAt()+n > 90 ? String.fromCharCode(tmp+n-26) : String.fromCharCode(tmp+n) }).join('') } ■ 다른사람 입맛도 맛보기 😋 function caesar(s, n) { var result = ""; // 함수를 완성하세요. var alphabetArray = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z", "a","b","c","d","e","f..
2022. 11. 28.
프로그래머스 Lv.1 : 31. 같은 숫자는 싫어
프로그래머스Lv.1 : 같은 숫자는 싫어 ■ 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. ■ 제한 조건 ✔ 배열 arr의 크기 : 1,000,000 이하의..
2022. 11. 28.
프로그래머스 Lv.1 : 30. 최대공약수와 최소공배수
프로그래머스Lv.1 : 최대공약수와 최소공배수 ■ 문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. ■ 제한 조건 ✔ 두 수는 1이상 1000000이하의 자연수입니다. ■ 입출력 예 n m return 3 12 [3,12] 2 5 [1,10] 입출력 예 설명 ✔ 자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다. ■ 내멋대로 풀어헤치기😜 function solution(n, m) { var answ..
2022. 11. 28.
프로그래머스 Lv.1 : 27. 행렬의 덧셈
프로그래머스Lv.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]] ■ 내멋대로 풀어헤치기😜 중첩 for문으로 각 인덱스활용해서 더해준 다음에 새 배열에 push해준 뒤 다시 push합니다. 끝 function solution(arr1, arr2) { v..
2022. 11. 22.
프로그래머스 Lv.1 : 24. 없는 숫자 더하기
프로그래머스Lv.1 : 없는 숫자 더하기 ■ 문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. ■ 제한 조건 ✔ 1 ≤ numbers의 길이 ≤ 9 ✔ 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. ■ 입출력 예 numbers result [1,2,3,4,6,7,8,0] 14 [5,8,4,0,6,7,9] 6 ■ 입출력 예 1. 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다. 2. 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6..
2022. 11. 21.
프로그래머스 Lv.1 : 20. 내적
프로그래머스Lv.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 b return 10 true [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 ■ 입출력 예 1. a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다. 2. a와 b의 내적은..
2022. 11. 16.
프로그래머스 Lv.1 : 18. 나누어 떨어지는 숫자 배열
프로그래머스Lv.1 : 나누어 떨어지는 숫자 배열 ■ 문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. ■ 제한 조건 ✔ arr은 자연수를 담은 배열입니다. ✔ 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. ✔ divisor는 자연수입니다. ✔ array는 길이 1 이상인 배열입니다. ■ 입출력 예 arr divisor return 10 true [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] ■ 입출..
2022. 11. 16.