문제 설명 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; ..
코딩 테스트/프로그래머스 코딩 테스트 연습
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/154538?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 처음 문제를 보고 dfs나 bfs를 이용해 문제를 풀이할까 생각했지만, 제한 사항을 보면 x와 y의 크기가 최대 1,000,000까지인걸 보면 시간복잡도를 생각해 시간초과 오류를 고려해 이전 계산 결과를 이용하는 DP를 이용해 풀기로 했다. 동작 시간을 줄이기 위해 for문에서 해당 칸이 -1인 곳은 건너 뛰고 다음 동작을 하게 해준..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제의 제한사항을 보면 매개변수로 주어지는 topping의 길이가 1,000,000까지 인걸 볼 수 있다. 이는 slice() 메서드나 중첩 for문을 이용할 경우 시간복잡도 O(n)으로 인해 시간초과 에러가 날 수있다. 종합하자면, 이 문제는 시간복잡도 O(n) 최적화 문제인 것이다. 그렇다면 이 문제는 Set()과 slice를 함께 이용해 풀이한는 방식은 안된다..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 정규식 사용이 활약하는 문제이다. (\D+)는 숫자가 아닌 것 => 문제에서는 -와 같은 특수문자까지 포함해야 한다. (\d+)는 숫자인 것 => 중간에 숫자로 구성된 부분 뒤에 파일 형식(TAIL)은 파일명으로만 정렬해야되므로 고려안해도 된다. match메서드를 이용해 ['img12', 'img', '12', index: 0, input: 'img12.png', gro..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42584# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 stack을 이용해 풀이를 진행했다. 문제는 각 가격이 언제까지 떨어지지 않는가를 측정하는 문제인데, 떨어지는 기준은 해당 가격보다 아래로 내려가는 것이다. 스택에 떨어지지 않는 가격의 인덱스를 담고, 이후에 떨어지게 되면 stack의 마지막 요소부터 빼줘서 기간을 계산한다. 위의 과정을 거치고도 stack에 남아있는 수들은 한번도 떨어지지 않은 가격이므로 가격 배열의..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 상하좌우 커맨드를 처리할 함수는 객체형식으로 정리해 선언해줬다. 이 방식은 처음 사용해 보는데 괜찬은거 같아서 적용해 봤다. 커맨드를 이용해 움직일 때 입력되는 위치의 조건을 걸어야 한다. 좌표는 x와y 좌표 모두 -5부터 5까지의 범위를 갖기때문에 왼쪽을 예로들면 x좌표가 -4부터 5까지는 왼쪽으로 이동할 수 있고 이외의 경우는 입력된 좌표 그대로 반환해준다. 이 개념..