본문 바로가기

반응형

프로그래머스

(108)
[피보나치] 프로그래머스 '멀리뛰기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12914?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 이 문제는 피보나치 형태의 규칙을 따른다. 1칸 움직이는 방법 => 1 2칸 움직이는 방법 =>2 3칸 움직이는 방법 =>3 4칸 움직이는 방법 =>5 5칸 움직이는 방법 =>8 fib(n) = fib(n-1) + fib(n-2) 의 형태와 동일하다! 하지만 이 문제에서 0칸은 고려하지 않으니, 가독성을 위해 배열에 처음부터 [0,1,2]를..
[구현] 프로그래머스 '제일 작은 수 제거하기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 이 문제의 핵심은 원본 배열 순서 그대로 리턴해야한다는 것이다. 처음엔 정렬 후 마지막 값만 pop()으로 빼주고 배열을 리턴했는데, 테스트케이스만 통과되고 제출이 안됐다. 이유를 살펴보니 원본 배열의 순서가 지켜져야하는 것이였다. arr.slice()를 통해 arr와 같은 배열을 만들어준다. 리턴할 배열 answer을 빈 배열로 선언해준 후, arr를 내림차순 정렬해주고 가..
[문자열] 프로그래머스 'JadenCase 문자열 만들기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 function solution(s) { // s의 모든 문자를 소문자로 만들어준 후, split(' ')을 통해 빈칸을 기준으로 나누어 배열 형태로 저장 let arr = s.toLowerCase().split(" "); // for문을 돌며 arr[i]의 0번째 문자가 Number 형태가 아니고(isNaN()은 숫자가 아니면 true 반환) // arr[i]의 길이가 0이..
[문자열] 프로그래머스 '문자열 내 p와 y의 개수' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12916 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 먼저 비교를 위해 s를 전부 소문자로 바꿔준다. for문을 돌며 'p'와 'y' 갯수를 각각count 해준 후, 두 값이 같으면 true 다르면 false를 리턴한다. 3. 코드 function solution(s){ s = s.toLowerCase(); let countP = 0; let countY = 0; for(let i=0;i
[문자열] 프로그래머스 '문자열 내 마음대로 정렬하기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 문자열을 정렬하는 문제이기 때문에 sort()를 사용한다. 먼저 sort() 구현방식을 살펴보자. 숫자의 오름차순 정렬, 내림차순 정렬을 살펴보자. const arr = [22, 11, 2, 9, 1, 5]; arr.sort((a, b) => a - b); //내림차순 arr.sort((a, b) => b - a); 문자열의 오름차순 정렬, 내림차순 정렬을 살펴보자. cons..
[문자열] 프로그래머스 '문자열 다루기 기본' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12918#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2.설명 const str = '1234'; const num1 = Number(str); const num2 = Number('1234.5'); const num3 = Number(undefined); const num4 = Number('abcd'); console.log(num1 + ', ' + typeof num1); console.log(num2 + ', ' + type..
[구현] 프로그래머스 '나머지가 1이 되는 수' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/87389 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 조건에 n이 3부터 시작하므로, i는 2부터 n-1까지 증가하는 반복문을 만든다. n을 i로 나누었을 때 그 나머지 값이 1이 나오는 순간이 발생한다면 그 즉시 해당값인 i를 리턴하고 종료될 수 있도록 한다. 3. 코드 function solution(n) { for(let i=2;i
[문자열 ] 프로그래머스 '하샤드 수' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 입력받은 수인 x를 string형태로 바꿔준 후, split을 통해 x의 각 자리수가 배열 속에 들어가게끔 만들어준다. reduce를 사용하여 각 자리수를 Number형태로 바꾼 후 더해준다. x를 각 자리수의 합으로 나누었을 때 나누어떨어지면, 즉 나머지가 0이면 falsy하므로 리턴값에 !를 붙혀주어 나머지가 0이면 true, 나머지가 0이 아니면 false를 리턴하도록 ..

반응형