문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 이 문제는 인수의 길이를 확인하고 시간 복잡도를 생각해서 이중 for문을 사용하지 않고 풀어야하는 문제라 생각했다.나는 투포인터 알고리즘을 이용해 문제를 풀기로 했다. 고려해야 하는 상황은 3가지 이다.1. 부분 수열의 합이 k값보다 작고 오른쪽 포인트가 수열의 끝 인덱스보다 작을 때2. 부분 수열의 합이 k값과 같고 기존 수열의 범위와 비교해서 지금의 범위가 작을 때3. ..
JavaScript
네이티브 객체 (Native Object) ECMAScript(자바스크립트 언어 규약) 명세에서 의미론적인 부분으로 완전히 정의해 놓은 객체들이다. 네이티브 객체는 애플리케이션의 환경과 관계없이 언제나 사용할 수 있다. 값 속성 : NaN, Null, undefined, globalThis 함수 속성 : eval(), parseInt(), isNaN() ➡ 객체에 붙지 않고 전역으로 호출하는 함수 기초 객체(fundamental obj) : Object, Boolean, Function, Symbol ➡ 모든 객체의 기본 객체 오류 객체 : Error, SyntaxError 숫자/날짜 객체 : Number, Math, Date 텍스트 처리 객체 : String, RegExp 인덱스 콜렉션 : 인덱스값으로..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 이 문제에서 주의할 점은 시간복잡도로 인한 시간초과 에러가 발생하면 안된다는 점이다. 입력되는 order의 길이가 최대 1,000,000이기 때문에, O(N)의 시간 복잡도를 갖는 메서드 혹은 방법의 사용은 지양해야한다. (shift나 이중 for문, slice 같이 배열 전체를 확인하는 방식)(링크) 나는 이 문제를 stack을 이용해 풀어 봤다. 예외 처리하는데 어려움을..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 for문으로 해당하는 숫자를 찾을때 까지 반복한다면 시간초과 에러가 발생한다. 2진수로 바꿔준다음 생각하는 것이 좋다. 짝수인 경우 2진수에서 항상 0으로 끝나기에 끝에 1이 오는 숫자, 즉, 기존 숫자보다 1만큼 더 큰 숫자가 답이다 홀수는 2진수로 변환 후 비교해야하는데, 1이 한개 늘어나면 앞에 있는 비트의 범위가 커질 수 있기에 처음에 0을 붙여주고 '01' 패턴이 제..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 길이가 1일 때는 1개의 경우, 2일 때는 2, 3일 때는 3, 4일 때는 5, 5일 때는 8 이 문제는 피보나치 수열을 이용한 문제로써, DP를 이용해 문제를 풀었다. 코드 function solution(n) { let arr = Array(n+1).fill(0); arr[0] = 1; arr[1] = 1; for(let i=2; i
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12899# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 사칙 연산 문제이며 n이 0이 될때 멈추게 while문을 이용 n-1을 하는 이유는 n / 3이 1이면 몫이 생기기 때문에 -1을 해준것이다. index에 원활하게 적용하기 위해 코드 const solution = (n) => { let answer = ''; const arr = [4, 1, 2]; while(n){ answer = arr[n%3] + answer; ..