분류 전체보기
-
[백준] 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..
-
Type Ahead ⌨Web/JS30 2020. 9. 25. 19:28
이번에는 프론트엔드 코딩테스트로도 자주 등장하는 자동완성 기능에 대한 예제이다. 검색창에다가 특정 단어를 입력하면, 해당 단어로 이루어진 도시나 주를 찾아서 화면에 보여주는 방식이다. 우선, 데이터를 불러올 URL을 변수에 저장해둔다. 그리고 불러온 데이터를 저장해 둘 배열을 만들어 둔다. const endpoint = 'https://gist.githubusercontent.com/Miserlou/c5cd8364bf9b2420bb29/raw/2bf258763cdddd704f8ffd3ea9a3e81d25e2c6f6/cities.json'; const cities = []; 데이터를 fetch하는 데는 fetch API를 사용한다. 사실 나는 이때까지 데이터를 불러오는 가장 좋은 방법이 axios인 줄 알..
-
[백준] 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..
-
[백준] 0920 어제의 문제 풀이📚Algorithm 2020. 9. 22. 01:32
BFS 문제 위주로 풀어봤다. 일단은 여러 유형들을 위주로 쉬운 문제부터 풀어봤는데 생각보다는 괜찮았던 듯. 예전에 풀었던 BFS 문제도 한 번 풀어봤는데 한 번에 풀려서 다행. 일단 BFS의 기본 틀은 거의 여기서 변하지 않는다. const whole = new Array(n); const visit = new Array(n); for(let i = 0; i < n; i++) { whole[i] = new Array(m); for(let j = 0; j < m; j++) { whole[i][j] = Number(input[i].split(' ')[j]); } visit[i] = new Array(m).fill(0); } const queue = []; const dirX = [1, -1, 0, 0]; ..
-
Flex Panel Gallery 🎫Web/JS30 2020. 9. 21. 18:02
Flex의 여러 속성들을 살펴보고, 직접 다뤄보는 예제였다. Flex를 사용하면서도 항상 뭔가 아리송한 점이 많았는데, 조금 정리된 듯한 느낌. 아직도 헷갈리는 점들이 좀 있기 때문에, 나중에 따로 더 시간을 내서 공부해야 될 것 같다. Flex와 Grid는 CSS의 핵심이기 때문에 꼭 시간을 내서 공부를 해야 할 듯. 아래와 같이 5개의 그림이 있는데, 그 중 하나의 패널을 클릭하면 여러 transition이 발생하게끔 해야 했다. 일단 처음에는 이런 식으로 5개의 패널들이 세로로 나열되어있다. Hey Let's Dance Give Take Receive Experience It Today Give All You can Life In Motion 이들을 가로로 나열하기 위해서는 container를 fl..