본문 바로가기

반응형

프로그래머스

(108)
[구현] 프로그래머스 '줄 서는 방법' - 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; // 순번. 우리가 찾는건 고정 값이 될 배열 내의 인덱스...
[DFS] 프로그래머스 '무인도 여행' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/154540#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 구현 처음 푼 코드) 부분 정답 2차원 배열을 만들어주고 값이 X가 아니면 1을 넣어준 뒤, 상하좌우 요소 중 값이 1인게 하나라도 있으면 기존 값에 더해주고 없으면 이전 합을 더하고 temp에 새로운 값을 넣어주는 식으로 짰는데 부분 정답이 나왔다 ㅠㅠ 반례라도 있으면 문제를 파악하기 더 쉬울텐데, 어떤 부분이 틀렸는지 이해가 안된다 ㅠㅠ 복기하다 보니 내 풀이가 왜 틀..
[구현] 프로그래머스 '행렬 테두리 회전하기' - 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/64062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 처음 푼 코드) 완탐. 당연히 타임아웃. 정답도 일부만 맞고..일부는 틀림. function solution(stones, k) { let answer = 1; let zero = 0; for(let i=0;i 0; let count = 0; for(let i = 0; i < stones.length; i++) { if(stones[i] - mid
[구현] 프로그래머스 '방금그곡' - 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
[DP] 프로그래머스 '스티커 모으기(2)' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 해당 문제는 앞의 값을 저장해가는 누적합을 사용해야 하기 때문에 DP가 사용된다. 총 두 가지 경우가 있고, 이 두 가지 경우를 분기처리 하여 누적합을 구해준 뒤 최댓값을 산출해주면 된다. 첫번째 스티커 떼고 시작하는 경우(마지막 스티커 사용 못하고 끝남) 첫번째 스티커 떼지 않고 시작하는 경우(마지막 스티커 사용하고 끝남) 총 두 가지 경우를 나누어, 이전 스티커를 떼었을 ..
[투포인터] 프로그래머스 '연속된 부분 수열의 합' - 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..

반응형