본문 바로가기

main/Algorithm

백준 _ 2457 공주님의 정원 (JavaScript) https://www.acmicpc.net/problem/2457 JavaScript 코드const [in1, ...in2] = require("fs").readFileSync("/dev/stdin").toString().trim().split("\n");const N = Number(in1)const inputList = in2.map((el) => el.split(" ").map(Number))const flowers = inputList.map(el => { const startMD = el[0] * 100 + el[1] const endMD = el[2] * 100 + el[3] return [startMD, endMD]}).sort((a, b) => a[0] - b[0])const last.. 더보기
백준 _ 2580 스도쿠 (Python, JavaScript) https://www.acmicpc.net/problem/2580 풀이 과정1. 빈 칸의 좌표를 모두 조회해 보관한다.2. 빈 칸에 들어갈 수 있는 숫자를 체크해본다. 이때, 행/열/정사각형 범위를 체크한다.3. DFS 백트래킹을 통해 모든 빈 칸의 좌표가 채워질 때까지 반복한다. Python 코드def check(y, x, n): for i in range(9): if n == arr[y][i] or n == arr[i][x]: return False for i in range(3): for j in range(3): if n == arr[y//3 * 3 + i][x//3 * 3 + j]: return False return Truedef find(n): .. 더보기
코드트리 두달 사용 솔직 후기 알고리즘 공부에서 길을 잃었나요 .....? 코드트리 한달 사용 솔직 후기 들어가기 전에 잠깐, 제가 알고리즘을 공부한 지가 얼마나 되었게요? 처음 시작한 알고리즘. Python이었으며 무려 2019년, Jul 이니까 햇수로만 따지면 5년이 좀 안 됐군요. 놀랍게도 아직도 알고리 improvisation.tistory.com 지난 번 한달 사용 후기를 작성하고, 조금 늦게 돌아 온 두달 후기입니다 ..! 두달 차에는 무작정 문제만 풀지 말고, 코드트리에서만 할 수 있는 공부를 하자! 가 목표였고 짧은 기간인지라 역시 모든 커리큘럼을 다 볼 수는 없었고 가능한 만큼 공부했습니다. 알고리즘 문제풀이가 아닌 [ 개념설명 + 설명한 개념 관련 퀴즈 ] 로 구성되어 이론 공부하기 좋은 커리큘럼이 NH(Novic.. 더보기
알고리즘 공부에서 길을 잃었나요 .....? 코드트리 한달 사용 솔직 후기 들어가기 전에 잠깐, 제가 알고리즘을 공부한 지가 얼마나 되었게요? 처음 시작한 알고리즘. Python이었으며 무려 2019년, Jul 이니까 햇수로만 따지면 5년이 좀 안 됐군요. 놀랍게도 아직도 알고리즘 초보입니다. 주변 개발자들과 이야기를 나눠 보면, 알고리즘 많이 풀면 는다고 하던데. 그런 말 들을 때마다 아무 말도 할 수 없었던 ... 저는 . . 왜 계속 풀어도 실력이 안 늘었던 걸까요 ? !!!!! 많이의 기준이 달랐던 것일까요? 과거의 알고리즘 이야기 ... 알고리즘 기초 공부할 때 "정올", "SWEA" 사이트에서도 많이 풀었고 또 많이들 사용하시는 "백준"에서도 많이 풀었습니다. 막상 이렇게 보니 생각보다 적네요. 랭크는 높아 봐야 골드 1..! (딱 하나😅) 플레의 벽을 넘지 못했습.. 더보기
구름톤 챌린지 남은 문제들 푼 일기 (JavaScript) 구름톤 챌린지가 끝나고, 구름톤 오프라인 행사에도 참여 했었다.오 그게 벌써 .. 2달 전 ?! 어쨌든, 바쁜 일들 지나고 시간 날 때 그래프 문제 중 못풀었던 문제들을 몰아서 마저 풀었었다.그래프 문제들을 풀다 보니 내가 생각했던 것보다 그래프도 별 것 없잖아? 라고 생각을 조금 했는데아마 기초적인 그래프 문제들을 풀어서 그런 것 같긴 하지만그래프 문제라고 하면 좀 꺼려지고 풀기 싫고 못 풀 것 같고 그런 편견을 살짝 내려놓은 계기가 되었다. 문제 18. 중첩 점 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.ioconst readline = require('readline');let rl = readline.createInterface({ in.. 더보기
구름톤 챌린지 20일차 일기 망했따.. 망했어...끄흑흑ㄱ흐 문제 16. 연합 const readline = require('readline'); let rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); const input = []; rl.on('line', (line) => { input.push(line); }); const l = console.log; rl.on('close', () => { const [n, m] = input[0].split(' ').map(Number); const map = {}; const check = Array.from(Array(n + 1), () => Array(n + 1).fill(0)); co.. 더보기
구름톤 챌린지 17일차 일기 예전에 제대로 못 풀었던 문제들(숙제..)을 몰아서 모두 처리하려고 했는데.. 게임젬이 안 풀린다.(새벽에 겨우 풀었다...) 아...... 그래서 오늘 문제를 아직도 못 풀었다 문제 4. 완벽한 햄버거 만들기 // Run by Node.js const readline = require('readline'); (async () => { let rl = readline.createInterface({ input: process.stdin }); let n; let taste = []; let goodTaste = 0; let goodIndex = 0; let left, right; let result = 0; const main = (taste) => { taste.forEach((el, idx) => {.. 더보기
구름톤 챌린지 15일차 일기 문제 13. 발전기 (2) let input, N, K; const village = []; rl.on('close', () => { const dir = [[1, 0], [-1, 0], [0, 1], [0, -1]] const groups = Array(33).fill(0); const memo = Array.from(Array(Number(N)), () => Array(Number(N)).fill(0)); const BFS = (i, j) => { let cnt = 1; const queue = [[i, j]]; while (queue.length) { const queuePop = queue.shift(); const queueI = queuePop[0] const queueJ = queuePop[.. 더보기