programmers 24

[js] K번째 수_ Kth Number

[문제 설명] 배열 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 함수를 작성해주세요. [제한사항] array의 길이는 1 이상 100 이하입니..

[js] 수박수박수박수박수박수?_Repeated String

[문제 설명] 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. [제한 조건] n은 길이 10,000이하인 자연수입니다. [입출력 예] 3 "수박수" 4 "수박수박" [문제 풀이] function solution(n) { var answer = ''; for (var i=0; i "수박".repeat(n).slice(0,n); repeat 함수를 활용하여 n만큼 반복하고 slice로 문자열을 잘라줍니다. repeat 함수만 활용할 경우, 아래와 같이 출력합니다. console.log(waterMelon(3))// 수박수박수박 console.log(wat..

[js] 문자열 내림차순으로 배치하기_Arrange Strings In Descending Order

[문제 설명] 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. [제한 사항] str은 길이 1 이상인 문자열입니다. [입출력 예] sreturn "Zbcdefg" "gfedcbZ" [문제 풀이] function solution(s) { return s.split('').sort().reverse().join(''); } [해설] split 함수로 문자열을 배열로 변형 sort 함수로 오름차순 정렬 reverse 함수로 뒤집기 (내림차순으로 변경) join 함수로 배열을 문자열로 변형 2023.01.20 - [취준/[개발공부] javascript] ..

[js] 문자열 다루기 기본_String Processing Basics

[문제 설명] 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. [제한 사항] s는 길이 1 이상, 길이 8 이하인 문자열입니다. s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. [입출력 예] sreturn "a234" false "1234" true 공지 - 2022년 7월 22일 테스트케이스가 추가되었습니다. 공지 - 2022년 7월 22일 제한 사항이 추가되었습니다. [문제 풀이] [첫번째 풀이] function solution(s) { return (s.length == 4 || s.length == 6) && (! i..

[js] 행렬의 덧셈_Addition Of Matrixs

[문제 설명] 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]] [문제 풀이] function solution(arr1, arr2) { var answer = []; for (var i=0; i b + B[i][j])); } map 함수와 화살표 함수를 활용하여 코드를 간략하게 구현하였습니..

프로그래머스 자주 사용되는 함수 모음

* set 집합. 중복을 허용하지 않습니다. let ot = [...new Set([...one, ...two])]; 여기서는 Spread Operator(전개연산자) '...'로 Set 객체의 값들을 하나씩 전개, 즉 꺼내서 새로운 배열의 원소로 넣고, ot에 저장하는 것을 의미합니다. *.includes() 배열이 특정 요소를 포함하고 있는지 판별합니다. ot.includes(히밥) 위 코드는 ot 배열이 '히밥'이라는 문자열을 포함하는지 판별합니다. *.filter() 주어진 함수의 test를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다. let winner = bj.filter(x => !ot.includes(x)); 여기서는 bj 함수를 대상으로 ot 함수에 있는 값이 bj에 없는 요소(..

[js] 3진법 뒤집기_Ternary Flip

[문제 설명] 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. [제한사항] n은 1 이상 100,000,000 이하인 자연수입니다. [입출력 예] nresult 45 7 125 229 [입출력 예 설명] 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현 45 1200 0021 7 따라서 7을 return 해야 합니다. 입출력 예 #2 답을 도출하는 과정은 다음과 같습니다. n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현 125 11122 22111 229 따라서 229를 return 해야 합니다. [문제 ..

[js] 같은 숫자는 싫어_HateSameNumber

[문제 설명] 배열 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 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거..

카테고리 없음 2023.01.18

[js] 없는 숫자 더하기_Add Missing Numbers

[문제 설명] 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. [제한사항] 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. 입출력 예numbersresult [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을 return 해야 합니다. [문..

카테고리 없음 2023.01.16

[js] 문자열에서 연속한 알파벳 소거하기_Repeat Alphabet

[문제 설명] S는 알파벳으로 이루어진 문자열 입니다. 해당 문자열에서 2회 이상 연속해서 나오는 알파벳을 소거 합니다. 소거한뒤에 나온 문자열에서 다시 연속해서 나오는 알파벳을 소거하는 작업을 더이상 작업할 것이 없을 때 까지 반복합니다. 이때 최종 문자열이 완전히 소거되어 빈 문자열이라면 1을 리턴하고 알파벳이 남아있으면 0을 리턴하는 함수를 작성하세요. [입력] 문자열 S [출력] 조건 수행후 문자열이 비어있다면 1, 남아있다면 0 [문제 풀이] function solution(S) { let arr = []; let result = 0; for(let i=0;i

카테고리 없음 2023.01.13