목록알고리즘 문제 (164)
Muscardinus
programmers.co.kr/learn/courses/30/lessons/68646?language=javascript 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr C++ #include #include using namespace std; int solution(vector a) { int answer = 2; vector l(a.size(), 0), r(a.size(), 0); l[0] = a[0]; r[a.size() - 1] = a[a.size() - 1]; for(int i = 1; i < a.size(); i++) l[i] = min(a[i], l[i - 1]); for (int i = a.size..
programmers.co.kr/learn/courses/30/lessons/42895?language=javascript 코딩테스트 연습 - N으로 표현 programmers.co.kr 문제풀이 N의 최소 사용횟수가 8번보다 크면 -1을 반환하도록 제한되어있으므로 N을 1번 사용하는 것에서부터 8번사용하는 것까지를 순차적으로 숫자를 만들어보고, 1번부터 8번 집합에 각각 저장합니다. 그리고 number가 만들어졌는지 확인하면 됩니다. N이 5일때 5는 N을 1번 사용한 것이고, 55는 2번, 555는 3번, 5555는 4번, 55555555는 8번 사용한 것 입니다. 이를 각각의 집합에 미리 추가해줍니다. 1번 집합에 들어갈 수 있는 숫자는 5 하나 밖에 없습니다. 2번 집합에는 55외에 들어갈 수 있..
programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr function solution(m, musicinfos) { let answer = []; let obj = {}; for (let i = 0; i < musicinfos.length; i++) { let arr = musicinfos[i].split(","); let a = arr[0].split(":"); let b = arr[1].split(":"); le..
programmers.co.kr/learn/courses/30/lessons/17684?language=javascript 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr const key = { A: 1, B: 2, C: 3, D: 4, E: 5, F: 6, G: 7, H: 8, I: 9, J: 10, K: 11, L: 12, M: 13, N: 14, O: 15, P: 16, Q: 17, R: 18, S: 19, T: 20, U: 21, V: 22, W: 23, X: 24, Y: 25, Z: 26, }; let idx = 27; ..
programmers.co.kr/learn/courses/30/lessons/70129?language=javascript 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr function rec(s, answer) { if (s === "1") return answer; else { let cnt = 0; let changeS = ""; s.split("").forEach((el) => { if (el === "1") changeS += el; else cnt++; }); changeS = changeS.length.toString(2); return rec(changeS, [answer[0] + 1, answer[1] + cnt]); } } function solution(s) ..
programmers.co.kr/learn/courses/30/lessons/68936?language=javascript 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr const quad = (arr, size, cntArr, start) => { const first = arr[start[0]][start[1]]; /..
programmers.co.kr/learn/courses/30/lessons/72411?language=javascript 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr function solution(orders, course) { const orderedCountMap = new Map(); const maxCountMap = new Map(); const courseSet = new Set(course); const combination = (result, index, str) => { if (cours..
programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr function solution(n) { var answer = []; for (let i = 1; i 0)); let num = 1; let cnt = 0; let startColumn = 0; let startRow = 0; let endColumn = n - 1; let endRow = n - 1; while (startColumn