본문 바로가기

전체 글65

[코드트리 챌린지] 6주차 - 삼성기출 / 외주 수익 최대화하기 (JS) 1. 진단 결과 2. 학습 내용 문제 https://www.codetree.ai/training-field/frequent-problems/problems/max-of-outsourcing-profit?&utm_source=clipboard&utm_medium=text 나의 풀이 (JS) const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().trim().split("\n"); const n = +input.shift(); input = input.map((e) => e.split(" ").. 2023. 10. 16.
[코드트리 챌린지] 5주차 - BFS 탐색 / K번 최댓값으로 이동하기 1. 진단 결과 2. 학습 내용 문제 https://www.codetree.ai/missions/2/problems/move-to-max-k-times?&utm_source=clipboard&utm_medium=text 나의 풀이 (JS) const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; const input = fs.readFileSync(filePath).toString().trim().split("\n"); const [n, k] = input.slice(0, 1)[0].split(" ").map(Number); const grid = input.slice(1, 1.. 2023. 10. 9.
[코드트리 챌린지] 4주차 - DFS / 뿌요뿌요 1. 진단 결과 2. 학습 내용 문제 https://www.codetree.ai/missions/2/problems/puyo-puyo?&utm_source=clipboard&utm_medium=text 나의 풀이 (JS) const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().trim().split("\n"); const n = +input.shift(); input = input.map((e) => e.split(" ").map(Number)); const dx = [0, 1, 0, -1.. 2023. 10. 9.
[코드트리 챌린지] 3주차 - K개 중 하나를 N번 선택하기(Simple) / 아름다운 수 1. 진단 결과 2. 학습 내용 문제 https://www.codetree.ai/missions/2/problems/beautiful-number?&utm_source=clipboard&utm_medium=text 나의 풀이 (JS) const fs = require('fs') let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n') let answer = 0; const n = +input[0]; const number = []; const isBeutiful = (num) => { for (let i = 0; i < n; ) { let checkNum = num[i]; let count = num[i]; while (count) .. 2023. 9. 25.
[코드트리 챌린지] 2주차 - (DP)정수 사각형 최대 합 (JS) 1. 진단 결과 2. 학습 내용 문제 https://www.codetree.ai/missions/2/problems/maximum-sum-path-in-square?&utm_source=clipboard&utm_medium=text 나의 풀이 (JS) const fs = require('fs') let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n') const n = +input.shift() input = input.map(e => e.split(' ').map(Number)) const dp = Array.from({length : n }, () => Array.from({length: n}, () => 0)); function.. 2023. 9. 18.
[코드트리 챌린지] 2주차 - 문자에 따른 명령2 (JS) 1. 진단 결과 2. 학습 내용 문제 https://www.codetree.ai/landing/level-test/5535/result/4?&utm_source=clipboard&utm_medium=text 나의 풀이 (JS) const fs = require('fs') const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n') const dx = [0, -1, 0, 1] const dy = [1, 0, -1, 0] let dir = 0; let x = 0; y = 0; for(let i = 0; i < input[0].length; i++) { let cmd = input[0][i]; if(cmd === 'F') { x += dx.. 2023. 9. 13.
[원티드 챌린지] 리액트 테스트와 최적화 이 글은 원티드 프리온보딩 8월 챌린지(리액트 리팩토링 실전가이드: 테스트부터 최적화까지) 사전과제를 하며 공부한 것을 정리한 글입니다. 잘못된 부분이 있으면 언제든지 댓글 등으로 알려주세요. 1. 테스트 테스트 코드의 중요성 - 개발 과정에서 미리 문제를 발견하고 수정할 수 있다. - 코드 변경시 변경 부분으로 인한 영향도 파악이 쉽다. - 리팩토링을 안심하고 할 수 있다. 유닛테스트 vs. 통합테스트 vs. E2E테스트 비교 유닛테스트 가장 작은 단위 테스트 (각 컴포넌트 및 기능 단위의 동작 검증) 소스코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차 모든 함수와 메소드에 대한 테스트 케이스를 작성하는 절차 단시간내에 문제 파악 및 수정 가능 (쉽고 빠름) 통합테스트 단위 테스트가 끝.. 2023. 7. 26.
2023 하반기를 본격적으로 시작하기 전에 (회고/제로베이스오프라인/취준/프로그래머스 데브매칭) 2023이 벌써 반이 지나갔고, 7월마저도 반이 지났다. 아니! 2023년은 반이나 남았다! 라고 생각하면서 지난 6.5개월을 정리하고 하반기를 준비해본다. 1. 무엇을 했나? 1) 제로베이스 프론트엔드 스쿨 오프라인 과정을 수료했다. 작년 하반기에 공부를 시작했을 때에는 인터넷 강의만 들었었는데, 감사하게도 오프라인 스쿨에 선발되어 오프라인으로 약 4개월간 수업을 들을 수 있었다. '모던 자바스크립트 딥다이브'의 저자이신 이웅모 강사님의 가르침아래 프론트엔드의 개발자로서 기반을 다질 수 있는 좋은 시간이었다. 하지만 4개월 너무 짧아...강사님 더 보고싶어요ㅠㅠ 너무 좋은 시간이였고, 많은 걸 배웠지만 그만큼 할게 훨~~~씬 많고, 나는 부족하다는 것을 더 깨닫게 되는 시간이었다. 2) 본격 취준 시작.. 2023. 7. 17.
[타입스크립트 프로그래밍] 10장 Namespaces.Modules * 타입스크립트 프로그래밍(보리스 체르니, 프로그래밍 인사이트)를 읽고 요약 정리한 글입니다. 캡슐화 방법들 - 함수 - 자료구조 (객체, 리스트 등) - 클래스 - 네임스페이스로 구분된 유틸리티 형태 (별도의 데이터베이스나 저장소에 보관) (클래스나 유틸리티가 많아지면 패키지로 묶어서 NPM으로 발행할 수도 있음) 자바스크립트의 모듈 - 컴파일러의 모듈 해석, 빌드 시스템의 모듈 해석, 런타임에 모듈이 응용프로그램으로 로드되는 방법이 모두 별도의 프로그램으로 처리 - CommonJS, ES2015의 모듈 표준 등장으로 세 프로그램의 연동이 쉬워짐 - 웹팩등의 번들러로 내부적으로 추상화해서 실행해 줌 - 10장 내용: 컴파일러의 모듈 해석(타입스크립트의 모듈 해석과 컴파일 방법) 10.1 가볍게 살펴보는.. 2023. 6. 9.