본문 바로가기

반응형

공부

(115)
[TIL] 24.07.15 오늘 배운 것 📖1. 팀 소개 페이지 디자인1. 팀 소개 페이지 제작 과제 (7/19일까지) - 주제 선택 (심플한 게 최고!!) - 추가하고 싶은 기능 선택 (이미지 슬라이드, 댓글, 이모지 등등) - 역할 분담 - 와이어프레임 작성2. 맡은 역할 - 이미지 슬라이드 - 와이어프레임 제작 (Figma) 어려웠던 점 ❓1. 역할 분담지금까진 혼자서만 개발을 하다보니까 팀 단위로 프로젝트를 진행할 때 역할을 나누는 데 있어서 고민이 정말 많았다.한 페이지를 만드는 데 있어서 어디서부터 어디까지 나눠야 할 지도 고민이 정말 많이 됐다.그래서 서로 가장 잘 할 수 있는 부분들을 먼저 확인 후 역할을 조금씩 나누고 있는 중이다.아직 정확히 다 나누진 못했다,,,ㅜㅜㅜㅜ2. 와이어프레임 디자인피그마를 이용해 와..
[TIL] 24.07.09 백준 10844번 js 내가 푼 문제 📖 내가 작성한 코드 💻let input = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : __dirname+"/input.txt") .toString() .trim()let number = +inputlet mod = 1000000000const memo = Array.from({length: 10}, () => 1 )memo[0] = 0for(let i=1; i (a + c) % mod, 0)); 어려웠던 점 ❓1. 점화식 이후 코드 작성까지 연결이 잘 안 된 것memo[n] = memo[n-1]+1, memo[n-1]-1 처음에 세운 점화식이다!! 그러나,, 이후 코딩까지 생각해내지는 못했다..
[TIL] 24.07.08 내가 푼 문제 📖내가 작성한 코드 💻let [buy, ...input] = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : __dirname+"/input.txt") .toString() .trim() .split('\n')const N = +buyconst cardPacks = input[0].split(' ').map(Number)const memo = Array.from({length: N + 1}, () => 0)for(let i=1; i 어려웠던 점 ❓1. 최댓값 비교하기for(let i=1; i 최댓값 비교하는 부분이 생각해 내기가 정말로 어려웠다. 1시간을 넘게 고민해 봤지만 해결방법이 떠오르질 않..
동적계획법(Dynamic Programming) DP란?다이나믹 프로그래밍(DP)은 하나의 큰 문제를 여러 개의 작은 문제로 나누고, 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 알고리즘 기법입니다. DP는 주로 최적화 문제에 사용되며, 문제를 해결하기 위한 계산량을 줄이는데 매우 유용합니다.  DP를 사용하는 이유?일반적인 재귀(Native Recursion) 방식 또한 DP와 유사합니다. 그러나 큰 차이점은 재귀를 사용 시 동일한 작은 문제들이 여러 번 반복되어 비효율적입니다. ex) 피보나치 수열피보나치수열은 각 항이 그 앞에 두 항의 합인 수열입니다. 예를 들어, 피보나치수열의 첫 10개 항은 0, 1, 1, 2, 3, 5, 8, 13...  피보나치 수를 구할 때 재귀로 구성하게 되면 f(n) = f(n-1) + f(n-2)가 됩니..
[TIL] 24.06.17 백준 1373번 js 내가 푼 문제 📖 내가 작성한 코드 💻let input = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : __dirname+"/input.txt") .toString() .trim() .split('')let results = ''while(input.length){ let ocl = input.splice(-3).join('') if(ocl.length !== 3) ocl = ocl.padStart(3, '0') results += parseInt(ocl, 2).toString(8)}console.log(results.split('').reverse().join('')) 어려웠던 점 ❓1. 기존 변환 ..
[TIL] 24.06.12 백준 1676번 js 내가 푼 문제 📖 내가 작성한 코드 💻const input = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : __dirname+"/input.txt") .toString() .trim()let cnt = 0;for(let i=1; i 어려웠던 점 ❓1. 팩토리얼 범위const factorial = (n) => { if(n == 0) return 0; if(n == 1) return 1; return n * factorial(n-1)} 팩토리얼로 값을 구하고 뒤에서부터 0의 개수를 세는 방법을 생각하고 계산을 했었는데 주어진 N값의 범위가 (0~500) 22 팩토리얼만 돼도 값이 (1.124000727777..
[TIL] 24.06.11 백준 6588번 js 내가 푼 문제 📖 내가 작성한 코드 💻const input = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : __dirname+"/input.txt") .toString() .trim() .split('\n') .map(Number)const size = input.pop();const numbers = Array(1000000).fill(true); const sosu = [];numbers[0] = falsenumbers[1] = falsefor(let j=2; j { const low = sosu.find(su => numbers[num - su]) if(low){ let high = num ..
[TIL] 24.06.10 React 트랙을 신청한 이유 1.  내가 React 트랙에 참여한 계기는 무엇인가요? 혼자서도 충분히 할 수 있다 판단이 들어 컴퓨터공학을 졸업하고 백엔드 친구 1명이랑 개인 프로젝트를 진행한 경험이 있습니다! 백엔드와 협업을 해볼 수 있어서 좋은 경험이었지만 프로젝트를 진행하면서 학습의 고통보단 무엇을 학습해야 하는지 모르는 고통이 좀 더 컸던 것 같습니다. 그리고 내가 작성한 코드가 과연 잘 작성된 코드인가? 확장성이 있는 코드인가? 에 대한 의문이 계속 들었지만 서로 작성한 코드에 대한 피드백을 해줄 수 없었기 때문에 이 또한 힘들었습니다. 그래서 확장성을 고려한 개발, 코드리뷰, 팀프로젝트 경험을 더 쌓기 위해서 React 트랙에 참여하게 되었습니다.2. 내가 이해한 개발자는 어떤 역할을 하는 사람인가요?사용자가 보면 모든 ..