코딩테스트 문제풀이/프로그래머스 30

[프로그래머스] 단어변환

43163 단어변환 https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 20220318 javascript 풀이 function solution(begin, target, words) { if(words.find(word => target===word) === undefined) return 0; const len = target.length; let q = [begin..

[프로그래머스] 셔틀버스

17678 셔틀버스 https://programmers.co.kr/learn/courses/30/lessons/17678 코딩테스트 연습 - [1차] 셔틀버스 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr 20220317 javascript 풀이 function solution(n, t, m, timetable) { let time = timetable.sort().map(vt => vt.split(':').map(vn => parse..

[프로그래머스] 고득점 Kit 힙(Heap)

42626 더 맵게 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 20220316 C++ 문제 풀이 #include #include #include #include using namespace std; int solution(vector scoville, int K) { int answer = 0; priority_queue pq; for(int i=0; i

[프로그래머스] 고득점 Kit 이분탐색

43238 입국심사 https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 20220316 javascript 풀이 function solution(n, times) { const search = (start, end) => { let mid = Math.floor((start + end) / 2); if(start == end) return mid; let count = 0; times.forEach(v => { c..

[프로그래머스] 고득점 Kit 그래프

49189 가장 먼 노드 https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 20220316 javascript 풀이 function solution(n, edge) { let answer = 0; let check = new Array(n+1).fill(20000, 1); let queue = new Array(); queue.push(1); check[1] = 0; while(queue.length > 0) { let start = queue.shift(); edge.forEac..

[프로그래머스] 고득점 Kit 탐욕법(Greedy)

42862 체육복 https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 20220316 javascript 문제 풀이 function solution(n, lost, reserve) { let answer = n; let check = new Array(n+2).fill(0); lost.forEach(v => check[v]--); reserve.forEach(v => check[v]++); for(let i=1; ..

[프로그래머스] 고득점 Kit 해시

42576 완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 20220313 javascript 문제풀이 // 같은 이름 하나씩 삭제 // 없는 이름이 나오면 리턴 function solution(participant, completion) { for(item of participant) { let index = completion.findIndex(element => e..

[프로그래머스] 고득점 Kit 완전 탐색

42840 모의고사 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 20220314 javascript 풀이 function solution(answers) { var answer = []; const stu1 = [1,2,3,4,5]; const stu2 = [2,1,2,3,2,4,2,5]; const stu3 = [3,3,1,1,2,2,4,4,5,5]; let cnt = [0,0,0]; for(let i=..

[프로그래머스] 고득점 Kit 동적계획법(Dynamic Programming)

42895 N으로 표현 https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 20220314 javascript 풀이 const m = new Map(); function solution(N, number) { let temp = 0; for(let i=1; i { m.forEach((v2, k2) => { setMin(k1+k2, v1+v2); setMin(k1-k2, v1+v2); setMin(k1*k2, v1+v2); setMin(k1/k2, v1+v2); }) }) return m.has(number) ? m.get(number) : -1; } const setMin = (key, va..

[프로그래머스] 고득점 Kit 깊이/너비 우선 탐색(DFS/BFS)

43165 타켓 넘버 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr 20220314 javascript 풀이 function solution(numbers, target) { var answer = 0; const len = numbers.length; const dfs = (value, n) => { if(n === len) { if(value === target) { answer+..

728x90
반응형