본문 바로가기

반응형

프로그래머스/구현

(60)
[구현] 프로그래머스 '줄 서는 방법' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 function solution (n, k) { const answer = []; const arr = new Array(n).fill(1); // n까지의 값이 든 배열 for(let i = 1; i < n; i++) arr[i] = arr[i-1] + 1; // 배열은 0부터 시작하므로 let nth = k-1; // 순번. 우리가 찾는건 고정 값이 될 배열 내의 인덱스...
[구현] 프로그래머스 '행렬 테두리 회전하기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 문제 설명에 있던 이 부분은 분명 문제 풀 때 쓰일 것 같더니, 각 배열 요소에 자리에 맞는 값을 넣어줄 때 사용하라는 힌트였다. 길이가 100까지로 제한되어 있으니, 직접 배열을 만들어 숫자를 옮겨주는 방식을 사용해도 되었던 문제다. 괜히 타임아웃 뜰까봐 배열 만들까말까 우물쭈물 망설였네^^7 머쓱... function solution(rows, columns, querie..
[구현] 프로그래머스 '수식 최대화' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 이 문제를 처음 풀었을 때는 문제를 착각해 연산자 별 우선순위가 정해지면 우선순위가 높은 연산자 순으로 계산되어야하는 걸 잊고, 그냥 어떤 순서대로 계산해야 최댓값이 나오는지만 DFS를 사용해 구해주었다. 문제를 정확히 파악해야 한다. 한 번 우선순위를 정하면 그 우선순위 순서대로 계산이 되어야 한다. 구글링하여 잘 설명이 되어있는 블로그를 읽고 이해했다. function s..
[구현] 프로그래머스 '방금그곡' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 구현 function solution(m, musicinfos) { let answer = '(None)'; let tempTime = 0; // 음악이 여러 개일경우 제일 긴 음악을 찾기 위한 변수 for(let i = 0; i
[투포인터] 프로그래머스 '연속된 부분 수열의 합' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/178870#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 처음 푼 코드) 타임아웃. 이번에는 해결해보려고 별 짓을 다했다 ㅋㅋㅋ 나름..내선에서.. function solution(sequence, k) { let candidate = []; let min = 999996; let sum = 0; for(let i=sequence.length-1;i>=0;i--){ sum += sequence[i]; if(sum === k..
[투포인터] 프로그래머스 '보석 쇼핑' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 처음 푼 코드) 타임아웃. 또 예상했던 것. gems 길이가 길어지면 완탐으로는 시간이 오래걸릴 것 같다고 생각했다. function solution(gems) { let set = [...new Set(gems)]; // 보석 종류 let visited = new Array(set.size).fill(0); let candidate = []; let answer = []; ..
[투포인터] 프로그래머스 '두 큐 합 같게 만들기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/118667#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 처음 푼 코드) 당연한 타임아웃 function solution(queue1, queue2) { let answer = 0; // 두 큐 요소 합 구하기 // 두 큐 중 합 큰 것에서 하나 빼서 옮기기 queue1 = queue1.reverse(); queue2 = queue2.reverse(); let sum1 = queue1.reduce((acc,cur) => a..
[구현] 프로그래머스 '메뉴 리뉴얼' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 function solution(orders, course) { let map = new Map(); // 해시 맵에 조합 및 해당 조합이 나온 갯수 저장 let set = new Set(); // 각 orders 요소에 대한 조합 만들 때 중복 제거 let best = new Array(course.length).fill(0); // 조합 길이 별 조합 갯수 최댓값 저장 l..

반응형