[TIL] 2023.05.06 Programmers_문자열 내 마음대로 정렬하기
Today I Learned Programmers 문제 풀기 Programmers 문제 풀기 문자열 내 마음대로 정렬하기 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 입출력 예 strings n return ["sun", "bed", "car"] 1 ["car", "bed", "sun"] ["abce", "abcd", "cdx"] 2 ["abcd", "abce", "cdx"] 입출력 예 1 "sun", "bed", "car"의 1번째 인덱스..
2023. 5. 6.
[TIL] 2023.04.24 Programmers_조건에 맞게 수열 반환하기
Today I Learned Programmers 문제 풀기 Programmers 문제 풀기 조건에 맞게 수열 반환하기1 문제 설명 정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱합니다. 그 결과인 정수 배열을 return 하는 solution 함수를 완성해 주세요. 입출력 예 arr result [1, 2, 3, 100, 99, 98] [2, 2, 6, 50, 99, 49] 입출력 예 #1 1, 3은 50 미만의 홀수 이므로 2를 곱하고, 100, 98은 50 이상의 짝수이므로 2로 나눕니다. 나머지 값들은 변경 조건에 해당하지 않으므로 바꾸지 않습니다. 따라서 [2, 2, 6, 50, 99, 49]를 retur..
2023. 4. 24.
[TIL] 2023.04.20 Programmers_같은 숫자는 싫어
Today I Learned Programmers 문제 풀기 Programmers 문제 풀기 같은 숫자는 싫어 문제 설명 배열 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 함수를 완성해 주세요. ..
2023. 4. 20.
[TIL] 2023.04.19 Programmers_최대공약수와 최소공배수
Today I Learned Programmers 문제 풀기 Programmers 문제 풀기 최대공약수와 최소공배수 문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 입출력 예 n m return 3 12 [3, 12] 2 5 [1, 10] 나의 1차 풀이 function solution(n, m) { let max = Math.max(n,m); let min = Math.min(n,m); let array = []; // 최대공약수 fo..
2023. 4. 19.
[TIL] 2023.04.18 Programmers_행렬의 덧셈
Today I Learned Programmers 문제 풀기 Programmers 문제 풀기 행렬의 덧셈 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해 주세요. 입출력 예 arr1 arr2 return [[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]] [[1],[2]] [[3],[4]] [[4],[6]] 나의 풀이 function solution(arr1, arr2) { return arr1.map((arr, first_index) => arr.map((num, second_index) => num + arr2..
2023. 4. 18.
[TIL] 2023.04.17 Programmers_약수의 개수와 덧셈
Today I Learned Programmers 문제 풀기 Programmers 문제 풀기 약수의 개수와 덧셈 문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해 주세요. 입출력 예 left right result 13 17 43 24 27 52 입출력 예 #1 다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다. 수 약수 약수의 개수 13 1, 13 2 14 1, 2, 7, 14 4 15 1, 3, 5, 15 4 16 1, 2, 4, 8, 16 5 17 1, 17 2 따라서, 13 + 14 + 15 - 1..
2023. 4. 17.
[TIL] 2023.04.16 Programmers_연속된 수의 합
Today I Learned Programmers 문제 풀기 Programmers 문제 풀기 연속된 수의 합 문제 설명 연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return 하도록 solution함수를 완성해 보세요. 입출력 예 num total result 3 12 [3, 4, 5] 5 15 [1, 2, 3, 4, 5] 5 5 [-1, 0, 1, 2, 3] 1차 풀이 function solution(num, total) { let array = Array(total+1).fill(0).map((v, i) => i); for (let i = 0; i ..
2023. 4. 16.