프로그래머스 :: 문자열 다루기 기본 (JS) 문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234" 이면 False를 리턴하고 "1234" 라면 True를 리턴하면 됩니다. 제한 사항 · s는 길이 1 이상, 길이 8 이하인 문자열입니다. · s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. 입출력 예 s return "a234" false "1234" true 문제 풀이 function solution(s) { if (String(s).length === 4 || String(s).length === 6) { for (let i = 0; i < String(s).length; i++){ ..
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 함수를 작성해주세요. 제한사항 · array의 길이는 1 이상..
프로그래머스 :: 두 개 뽑아서 더하기 (JS) 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 · numbers의 길이는 2 이상 100 이하입니다. · numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 number result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 문제 풀이 function solution(numbers, result = []) { for (let i = 0; i < numbers.length; i++) { for (let j = i ..
프로그래머스 :: 자릿수 더하기 (JS) 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 · N의 범위 : 100,000,000 이하의 자연수 입출력 예 N answer 123 6 987 24 입출력 예 #1문제의 예시와 같습니다. 입출력 예 #29 + 8 + 7 = 24이므로 24를 return 하면 됩니다. 문제 풀이 function solution(n, sum = 0) { const Arr = String(n).split('').map(Number); Arr.forEach(num => { sum += num; }) return sum; }..

자바스크립트 정규 표현식 정규 표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다. JavaScript 에서는 정규 표현식도 객체이다. 정규 표현식 만들기 두 가지 방법으로 만들 수 있다. 정규 표현식 리터럴. 다음과 같이 슬래시로 패턴을 감싸서 작성한다. const re = / ab + c / ; 정규 표현식 리터럴은 스크립트를 불러올 때 컴파일되므로, 바뀔 일이 없는 패턴의 경우 리터럴을 사용하면 성능이 향상될 수 있다. RegExp 객체의 생성자 호출 const re = new RegExp("ab + c"); 생성자 함수를 사용하면 정규 표현식이 런타임에 컴파일된다. 바뀔 수 있는 패턴이나, 사용자 입력 등 외부 출처에서 가져오는 패턴의 경우 이렇게 사용한다. RegExp 객체는..
프로그래머스 :: 두 정수 사이의 합 (JS) 문제 설명 두 정수 a, b 가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12 이므로 12를 리턴합니다. 제한 조건 · a 와 b 가 같은 경우는 둘 중 아무 수나 리턴하세요. · a 와 b 는 -10,000,000 이상 10,000,000 이하인 정수입니다. · a 와 b 의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 문제 풀이 function solution(a, b) { let result = 0; let start = ((a-b) > 0) ? b : a; let stop = (..
프로그래머스 :: 가운데 글자 가져오기 (JS) 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution 을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한 사항 · s는 길이가 1 이상, 100 이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 문제 풀이 function solution(s) { if (s.length%2 !== 0) { return s[Math.floor(s.length / 2)]; } return `${s[(s.length/2)-1]}${s[(s.length/2)]}`; } s 의 길이가 짝수가 아니면, 중간값을 출력한다. s 의 길이가 짝수이면, 중간값 두 개를 출력한다. Math.ceil() 메서..
프로그래머스 :: 문자열 내림차순으로 배치하기 문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 · str 은 길이 1 이상인 문자열입니다. 입출력 예 s return "Zbcdefg" "gfedcbZ" 문제 풀이 function solution(s) { let answer = []; for (let i=0;i
프로그래머스 :: 수박수박수박수박수박수? (JS) 문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 · n은 길이 10,000 이하인 자연수입니다. 입출력 예 n return 3 "수박수" 4 "수박수박" 문제 풀이 function solution(n) { let answer = ""; for (let i = 0; i < n; i++) { if (i % 2 === 0) { answer += "수"; } else { answer += "박"; } } return answer; 기본적인 for 문과 if 문을 이용한 풀이 다른 사람의..
프로그래머스 :: 문자열 내 p 와 y 의 개수 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 · 문자열 s의 길이 : 50 이하의 자연수 · 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예 s answer "pPoooyY" true "Pyy" false 입출력 예 #1'p'의 개수 2개, 'y'의 개수 2개..