전체 글 383

[프로그래머스] 문자열 잘라서 정렬하기

문제 설명 문자열 myString이 주어집니다. "x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요. 단, 빈 문자열은 반환할 배열에 넣지 않습니다. 제한사항 1 ≤ myString ≤ 100,000 myString은 알파벳 소문자로 이루어진 문자열입니다. 입출력 예 myString result "axbxcxdx" ["a","b","c","d"] "dxccxbbbxaaaa" ["aaaa","bbb","cc","d"] 나의 풀이 function solution(myString) { return myString.split('x').sort().filter((str)=> str!=='') }

[프로그래머스] 접미사 배열

문제 설명 어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다. 문자열 my_string이 매개변수로 주어질 때, my_string의 모든 접미사를 사전순으로 정렬한 문자열 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 my_string은 알파벳 소문자로만 이루어져 있습니다. 1 ≤ my_string의 길이 ≤ 100 입출력 예 my_string result "banana" ["a", "ana", "anana", "banana", "na", "nana"] "programmers" ["ammers", "ers", "grammer..

[프로그래머스] 주사위 게임2

문제 설명 1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다. 세 숫자가 모두 다르다면 a + b + c 점을 얻습니다. 세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a2 + b2 + c2 )점을 얻습니다. 세 숫자가 모두 같다면 (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )점을 얻습니다. 세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. 제한사항 a, b, c는 1이상 6이하의 정수입니다. 입출력 예 a b c result 2 6 1 9 5 3 3 473..

[프로그래머스] 간단한 식 계산하기

문제 설명 문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요. 제한사항 0 ≤ a, b ≤ 40,000 0을 제외하고 a, b는 0으로 시작하지 않습니다. 입출력 예 binomial result "43 + 12" 55 "0 - 7777" -7777 "40000 * 40000" 1600000000 나의 풀이 function solution(binomial) { return eval(binomial) }

카테고리 없음 2023.08.06
[프로그래머스] 가까운 1 찾기

문제 설명 정수 배열 arr가 주어집니다. 이때 arr의 원소는 1 또는 0입니다. 정수 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요. 단, 만약 그러한 인덱스가 없다면 -1을 반환합니다. 제한사항 3 ≤ arr의 길이 ≤ 100'000 arr의 원소는 전부 1 또는 0입니다. 입출력 예 arr idx result [0, 0, 0, 1] 1 3 [1, 0, 0, 1, 0, 0] 4 -1 [1, 1, 1, 1, 0] 3 3 나의 풀이 function solution(arr, idx) { for(let i=idx-1; i=idx){ return i } } return -1 }

[프로그래머스] 두 수의 연산값 비교하기

문제 설명 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다. 12 ⊕ 3 = 123 3 ⊕ 12 = 312 양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 * a * b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요. 단, a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 return 합니다. 제한사항 1 ≤ a, b sum2 ? sum1 : sum2 }

[프로그래머스] x 사이의 개수

문제 설명 문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ myString의 길이 ≤ 100,000 myString은 알파벳 소문자로 이루어진 문자열입니다. 입출력 예 myString result "oxooxoxxox" [1, 2, 1, 0, 1, 0] "xabcxdefxghi" [0, 3, 3, 3] 나의 풀이 function solution(myString) { return myString.split('x').map((str)=>str.length) }

[프로그래머스] 특별한 이차원 배열 2

문제 설명 n × n 크기의 이차원 배열 arr이 매개변수로 주어질 때, arr이 다음을 만족하면 1을 아니라면 0을 return 하는 solution 함수를 작성해 주세요. 0 ≤ i, j < n인 정수 i, j에 대하여 arr[i][j] = arr[j][i] 제한사항 1 ≤ arr의 길이 = arr의 원소의 길이 ≤ 100 1 ≤ arr의 원소의 원소 ≤ 1,000 모든 arr의 원소의 길이는 같습니다. 입출력 예 arr result [[5, 192, 33], [192, 72, 95], [33, 95, 999]] 1 [[19, 498, 258, 587], [63, 93, 7, 754], [258, 7, 1000, 723], [587, 754, 723, 81]] 0 문제 풀이 function solut..

[프로그래머스] 부분 문자열 이어 붙여 문자열 만들기

문제 설명 길이가 같은 문자열 배열 my_strings와 이차원 정수 배열 parts가 매개변수로 주어집니다. parts[i]는 [s, e] 형태로, my_string[i]의 인덱스 s부터 인덱스 e까지의 부분 문자열을 의미합니다. 각 my_strings의 원소의 parts에 해당하는 부분 문자열을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ my_strings의 길이 = parts의 길이 ≤ 100 1 ≤ my_strings의 원소의 길이 ≤ 100 parts[i]를 [s, e]라 할 때, 다음을 만족합니다. 0 ≤ s ≤ e { for(let j=parts[i][0]; j