프로그래머스 :: 자릿수 더하기 (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개..
프로그래머스 :: 짝수와 홀수 (JS) 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 · num은 int 범위의 정수입니다. · 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 문제 풀이 function solution(num) { if (num % 2 == 0) { return "Even"; } else { return "Odd"; } } num 을 2로 나눴을 때 0이 되면 짝수이므로 Even 을 반환해준다. 그 외 Odd 를 반환해준다. 다른 사람의 문제 풀이 function evenOrOdd(num) { return (num %2 == 0)? "Even":"Odd"; }
프로그래머스 :: 서울에서 김서방 찾기 (JS) 문제 설명 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항 · seoul 은 길이 1 이상, 1000 이하인 배열입니다. · seoul 의 원소는 길이 1 이상, 20 이하인 문자열입니다. · "Kim" 은 반드시 seoul 안에 포함되어 있습니다. 입출력 예 seoul return ["Jane", "Kim"] "김서방은 1에 있다" 문제 풀이 function solution(seoul) { const num = seoul.indexOf("Kim..

4.1 변수란 무엇인가? 왜 필요한가? 애플리케이션은 데이터를 다룬다. 아무리 복잡한 애플리케이션이라고 해도 데이터를 입력받아 처리하고 그 결과를 출력하는 것이 전부다. 변수는 프로그래밍 언어에서 데이터를 관리하기 위한 핵심 개념이다. 변수란 무엇인지 그리고 왜 필요한지 살펴보자. 자바스크립트를 해석하고 실행하는 자바스크립트 엔진도 사람과 유사하게 코드를 실행한다. 자바스크립트 엔진이 위 자바스크립트 코드를 계산(평가:evaluation)하려면 먼저 기호(리터럴:literal 과 연산자:operator)의 의미를 알고 있어야 하며, 식(표현식:expression)의 의미도 해석(파싱:parsing) 할 수 있어야 한다. 자바스크립트 엔진이 10 + 20 이라는 식의 의미를 해석하면 + 연산을 수행하기 위..