본문 바로가기

반응형

프로그래머스/구현

(60)
[구현] 프로그래머스 '불량 사용자' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/64064 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 function solution(user_id, banned_id) { const ch = new Array(user_id.length).fill(0); const set = new Set(); const isPossible = (uId, bId) => { if (uId.length !== bId.length) return false; for (let i = 0; i < uI..
[구현] 프로그래머스 '124 나라의 숫자' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 이 문제를 처음 읽었을 때는 감이 잘 오지 않았다. 알고보니 1,2,4 이 세 개의 숫자를 쓴다는 것은 이 문제를 3진법으로 풀어야한다는걸 떠올려야 했다. 문제는 매우 쉬웠지만, 풀이를 생각하기가 어려운 문제인 것 같다. 정답) function solution(n) { let answer = ''; // 3진법 사용. 3과 나누어 떨어졌을 때 나머지를 0이 아닌 4로 본다고 ..
[구현] 프로그래머스 '삼각 달팽이' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 구현 function solution(n) { let answer = []; let count = 0; let arr = Array.from({ length: n }, (el, idx) => Array(idx + 1).fill(0)); let currentX = -1; // 상하 let currentY = 0; // 좌우 while (n > 0) { // n의 값이 유효할 때까지 ..
[재귀] 프로그래머스 '쿼드압축 후 개수' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 const solution = (arr) => { let zero = 0; let one = 0; // 쪼개는 함수 (시작행, 시작열, 비교할 길이) const divide = (row, col, n) => { let canDivide = true; // 처음부터 전부 숫자가 같은 지 비교 for (let y=row; y < row+n; y++) { for (let x=col..
[구현] 프로그래머스 '기지국 설치' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 처음엔 아파트 길이만큼의 배열 만들어주고 0,1 비교해주는 식으로 했는데.. 코드도 꼬이고 해결도 못했다. 이렇게 간단한 코드로 해결 가능하다니...ㅠㅠ function(n, stations, w) => { let answer = 0; // 기지국 번호가 1부터 시작하니 start는 1, 인덱스는 0부터 시작 let index = 0; // stations내 요소들 가리키는 ..
[구현] 프로그래머스 '숫자 게임' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 처음엔 이걸 dp로 풀어야하나, dfs로 풀어야하나 삽질을 하고 있었다...ㅋㅋㅋㅋ A팀의 순서에 목매달아서... 이 문제는 A팀의 순서에 연연할 필요가 없었다. 중요한 개념은 큰 수는 큰 수로 막아야 가장 효율적이라는 것, 이거 하나다. 그래서 내림차순을 하여 비교를 시작하는 것이다. 내림차순 순서대로 비교할 때, 현재 B팀이 가지고 있는 수(B[j])가 A팀이 가지고 있는..
[구현] 프로그래머스 '2개 이하로 다른 비트' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 풀이의 핵심은 아래의 글을 참고하였다. https://school.programmers.co.kr/questions/37104 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(numbers) { ..
[구현] 프로그래머스 '뒤에 있는 큰 수 찾기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/154539#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 이 문제를 푸는 방법에 2중 for문과 filter밖에 생각나지 않았다.. 둘 다 예상했던 대로 시간 초과 ㅠㅠ n의 값이 워낙 커서 시간을 최대한 적게 쓰는 풀이가 필요했다. function solution(numbers) { let answer = []; let newNumbers = numbers.map((el,idx) => [el,idx]); for(let i..

반응형