분류 전체보기
-
[백준]2018번 수들의 합5 with Node.jsProgramming/Algorithm 2023. 1. 31. 19:29
const input = require("fs").readFileSync("testInput.txt").toString().trim(); let answer = 0; let start = 1; let end = 1; let sum = 1; while(start = input){ sum -= start; start++; }; }; console.log(answer); 본 문제 또한 풀이가 존재하지 않아서 업로드 한다. 해당 문제는 자바스크립트에서 이중 포문을 사용하여 진행할 경우 시간초과가 발생하며, 투 포인터라고 불리는 while을 사용한 방법을 통하여 풀이해야한다.
-
[백준]9237번 이장님 초대 with Node.jsProgramming/Algorithm 2023. 1. 30. 18:34
const [N, ...t] = require("fs").readFileSync("testInput.txt").toString().trim().split("\n").map(v => v.split(" ").map(Number)); t[0].sort((a,b) => b-a); let result = 0; for (let i = 0; i < N; i++) { result = Math.max(result, t[0][i] + i + 1); }; result += 1; console.log(result); 노드로 풀이한 예제가 없어서 업로드 한다. result 값과 나무가 자라는데 필요한 일 수+현재 경과 일+ 나무 심는데 걸리는 하루를 더해주고 이장님이 다음날 방문하니 하루를 더 더하여 계산하여준다.
-
[백준]2693번 N번째 큰 수 with Node.jsProgramming/Algorithm 2023. 1. 25. 18:30
const [N,...input] = require("fs").readFileSync("/dev/stdin", "utf8").toString().trim().split(/\n/).map(v => v.split(" ").map(Number).sort((a,b) => a-b)); let result = []; for(let i = 0; i < N; i++){ result.push(input[i][input[i].length - 3]); }; console.log(result.join("\n")); readFileSync의 "utf8"은 오랜만에 그냥 넣어 보았으며, 기본 설정이 utf8이기 때문에 보통은 따로 기입을 안해줘도 무방하다. 브론즈1 난이도의 문제인데 구글링시 풀이 포스트가 안보여서 업로드 한다.
-
2022년을 회고하는 간단한 글etc. 2022. 12. 31. 22:08
벌써 2022년이 전부 지나갔다. 매해 그렇지만 올해 또한 다사다난 하였던 듯 하고, 늘 그렇듯 올해도 소소하게 또는 크게 지른 물건들도 많았고 그중 맘에 들거나 정보를 공유하고 싶은 것들은 블로그에 글을 남겼던 것 같다. 언제나 글을 읽는 독자의 입장에 있다가 직접 글을 쓰기 시작한게 몇년이 안되었다. 직접 만들고, 도메인도 구매하여 호스팅 한 뒤 관리하던 첫번째 블로그는 취업과 동시에 관리가 어려워 방치하다가 폐쇄하고 내가 직접 유지보수를 하는 수고를 덜어줄 만한 플랫폼에서 제공하는 상용 서비스를 이용하자해서 시작한 것이 바로 이 티스토리이다. 어느 정도 커스터마이징도 가능하고 앱으로도 서비스를 제공하여 아직까지는 불만 없이 편리하게 잘 사용하고 있다. 다만 직접 글을 쓰는 입장이 되어 정보를 공유하..
-
[백준]2477번 참외밭 with Node.jsProgramming/Algorithm 2022. 11. 20. 16:19
const [K,...arr] = require("fs").readFileSync("testInput.txt").toString().trim().split("\n").map(v => v.split(" ").map(v => Number(v))); let maxHeight = 0, maxWidht = 0; let maxHeightIdx = -1, maxWidhtIdx = -1; //전체 큰 사각형의 넓이를 구하고 작은 사각형의 넓이를 구하여 빼는 방법. for(let i = 0; i < arr.length; i++){ // if(arr[i][0] == 1 || arr[i][0] == 2){ //가로 방향 if(maxHeight < arr[i][1]){ //가로 최대값, 인덱스 저장 maxHeight = ar..
-
[백준]14425번 문자열 집합 with Node.jsProgramming/Algorithm 2022. 11. 18. 18:10
const [N,M,...arr] = require("fs").readFileSync("testInput.txt").toString().trim().split(/\s/); const S = new Set(arr.slice(0,arr.length-M)); //집합 S는 같은 문자열이 여러번 주어지지 않는다고 명시 const checkArr = arr.slice(arr.length-M); //그러므로 검사 문자열은 같은 문자열이 여러분 주어질 수 있다는 것. let result = 0; checkArr.forEach((v => { if (S.has(v)) result++; }) ); console.log(result); Set 객체를 활용하여 문제를 풀었는데, 최근들어 집합과 맵을 활용한 문제에서는 Set을..
-
유한 상태 기계(Finite-State Machine,FSM)와 블록체인에서의 구현Programming/BlockChain 2022. 10. 30. 21:56
블록체인 상에서 스마트 컨트랙트를 개발할 때 시스템 다이내믹스, 각 오퍼레이션의 상태 변화를 보여주는 역동성을 보여주기 위하여 UML 유한 상태 머신 혹은 FSM 다이어그램을 사용하는데. 여기서 유한 상태 머신(Finite-State Machine,FSM)이란, 정규 컴퓨터 공학과 수학에서 창안한 것으로 프로그램과 전자 논리 회로를 설계하는데 쓰이는 수학적 모델로 "상태 기계"라고도 불리며 스마트 컨트랙트에서 활용 되는 FSM 다이어그램은 조건과 시간에 따라 변화해가는 스마트 컨트랙트의 상태 변화를 나타낼 수 있으며, 중요한 역할을 한다고 볼 수 있다. 이러한 유한 상태 기계는 유한 오토마톤 또는 복수형의 유한 오토마타라고도 하는데 이름 그대로 유한한 개수의 상태를 가지는 오토마타, 기계를 뜻하며 추상 ..
-
맥북 프로 M1Pro 16인치 리뷰(MacBook Pro M1 Pro 16" Review)리뷰 2022. 10. 29. 15:48
M1Pro 맥북 프로를 새로이 구매하였다. 상세 스펙은 M1 Pro Ram:32GB Mem:2TB 모델이며 기존에 사용하던 M1 Air(Ram:16GB)로도 왠만한 개발이나 작업은 충분하였지만, 용량이 256GB로 작고, 16기가의 램으로도 슬슬 부족함을 느끼기 시작하던 찰나에, X팡에서 핫딜로 꽤 많은 금액을 할인해주는게 아니겠는가. 마침 동료가 쿠X에서 이러한 핫딜이 있다고 알려주는 바람에 정말 10분 견디다가 질러버렸다. 물론 무이자 22개월이 가능하길래 최대로 땡겨서 평행우주상 서로 다른 시간대에 존재하는 22명의 나와 함께 갚아 나갈 생각이다. 현재 일주일 약간 넘는 시간 동안 사용한 소감은, 아주 만족스럽다. 32기가인 램은 현재 상황에선 크롬탭 십수개와 IDE 2개, 메신저 2개와 암페타민,..