Algorithm
-
[프로그래머스] 1106 오늘의 문제 풀이Algorithm 2020. 11. 6. 15:43
예전에 풀어봤던 문제들인데, 알고리즘 감을 되살리기 위해 다시 한 번 풀어보는 중. 사실 예전에 풀어봤다는 게 별 의미가 없는 것 같다. 너무 오래돼서, 내가 어떻게 풀었는지 기억이 하나도 안나기 때문에. 1. 실패율 function solution(N, stages) { let Nstages = new Array(N + 1).fill(0); const current = new Array(N + 1).fill(0); for(let i = 0; i Nstages[b - 1]) { re..
-
[백준] 0927 오늘의 문제 풀이📚Algorithm 2020. 9. 27. 03:36
대망의 백트래킹 문제를 풀어봤다.. 일단 뭔가 백트래킹도 기초 문제를 보니 어느 정도 정해진 틀을 지켜가면서 응용이 될 것 같은 느낌. 일단 기초 문제들을 열심히 풀면서(풀이를 보면서 ㅎㅎ;) 기본 틀이 되는 코드를 좀 체화시켜야겠다. 1. N과 M (1) 문제 링크 a. 풀이 1 var input = []; const readline = require('readline'); const fs = require('fs'); const r = readline.createInterface({ input: process.stdin }); r.on('line', function(line) { input.push(line.trim()); }); r.on('close', function() { const line =..
-
[백준] 0926 오늘의 문제 풀이📚Algorithm 2020. 9. 26. 23:01
최근 공채 시즌을 거치면서 보기 싫어서 미뤄뒀던 코딩테스트 알고리즘들을 공부하고있다. BFS, 그리디, 스택 등등 뭐 사실 공부한다고 하기도 애매한 것들이지만.. 재귀는 증말 너무 싫어서 DP랑 백트래킹은 최대한 미뤄두고 있는데 그것들도 뭐 언젠간 풀어야겠지.. 1. ATM 문제 링크 var input = []; const readline = require('readline'); const fs = require('fs'); const r = readline.createInterface({ input: process.stdin }); r.on('line', function(line) { input.push(line.trim()); }); r.on('close', function() { const N = ..
-
[백준] 0925 오늘의 문제 풀이📚Algorithm 2020. 9. 26. 03:28
오늘은 그리디 알고리즘을 다뤄봤다. 사실 그리디 알고리즘 문제를 풀면서 느낀건데 그리디 알고리즘으로 문제를 푸는 것 자체보다도, 이 문제가 그리디 문제인지 아닌지를 판별하는 능력이 훨씬 중요한 것 같았다.. 근데, 뭐 사실 아무 알고리즘 생각 안하고 일단 눈앞에 보이는대로 풀면 그게 그리디인 것 같다. 지금까지 그렇게 풀어왔던 문제들이 대부분 그리디 문제였던 듯? 1. 동전 0 문제 링크 var input = []; const readline = require('readline'); const fs = require('fs'); const r = readline.createInterface({ input: process.stdin }); r.on('line', function(line) { input.p..
-
[백준] 0924 오늘의 문제 풀이📚Algorithm 2020. 9. 25. 03:03
일단 내가 DP에 좀 취약한 것 같으니 DP는 우선순위를 좀 미뤄두고, 다른 문제 유형들을 익히는 것부터 좀 해야겠다. 이건 뭐 시간이 너무 오래걸려서 다른 공부를 할 수가 없으니. 그리고 일단 코딩테스트에서 문제를 보면 어떻게 푸는지 감이라도 잡아야되니깐 내일부턴 다른 유형들 좀 살펴보는 걸로. 1. 타일 채우기 3 문제 링크 var input = []; const readline = require('readline'); const fs = require('fs'); const r = readline.createInterface({ input: process.stdin }); r.on('line', function(line) { input.push(line.trim()); }); r.on('close'..
-
[백준] 0923 오늘의 문제 풀이📚Algorithm 2020. 9. 25. 03:01
오늘도 타일링 문제를 풀었는데 점화식에 변화구가 생겼다 ㅋㅋ 아니 뭐 어떻게 풀라는 건지 ㅋㅋ 사람들은 이걸 어떻게 푸는건지 ㅋㅋ 내가 멍청한건가 ㅋㅋ 바로 해답봤네 ㅋㅋ 아오 ㅋㅋ 1. 타일 채우기 문제 링크 var input = []; const readline = require('readline'); const fs = require('fs'); const r = readline.createInterface({ input: process.stdin }); r.on('line', function(line) { input.push(line.trim()); }); r.on('close', function() { const n = Number(input[0]); const m = new Array(31)...
-
[백준] 0922 어제의 문제 풀이📚Algorithm 2020. 9. 24. 03:49
동적계획법에 도전해봤는데.. 벽을 느껴버렸다.. 점화식 세우는게 너무 어렵네 ㅋㅋ; 일단 개념은 대충 알았으니까 예제 계속 풀면서 유형을 좀 익혀야겠다.. - 동적 계획법 = 분할정복 + 메모이제이션 - 메모이제이션을 위해서는 배열을 만들어서, 입력값에 해당하는 index에다가 결과값을 저장해야 함 - n일 경우에 어떤 식이 나오는지를 n-1, n-2 등과 비교하면서 점화식을 세워야 함 1. 2xn 타일링 문제 링크 var input = []; const readline = require('readline'); const fs = require('fs'); const r = readline.createInterface({ input: process.stdin }); r.on('line', function..
-
[백준] 0921 오늘의 문제 풀이📚Algorithm 2020. 9. 22. 01:48
항상 문제를 다 풀고, 자바스크립트30도 공부하고 엄청 질질 끌다가 새벽에 포스팅을 하게 되는 것 같다. 어차피 질질 끌 거, 그냥 일찍 포스팅하고 자는 게 나은가? 1. 불! 문제 링크 var input = []; const readline = require('readline'); const fs = require('fs'); const r = readline.createInterface({ input: process.stdin }); r.on('line', function(line) { input.push(line.trim()); }); r.on('close', function() { const firstLine = input.shift().split(' '); const r = Number(firs..