본문 바로가기

전체 글

(401)
React launch! (매우중요) 참고: https://www.youtube.com/watch?v=6GECT2Jrr_g&t=572s https://www.youtube.com/watch?v=5lgITNI0ZJo&list=PLcqDmjxt30RtqbStQqk-eYMK8N-1SYIFn&index=3 리엑트는 특별한 존재가 아닙니다. 웹브라우저가 이해할 수 있는 언어는 결국 HTML, CSS, JS뿐입니다. 화면을 구성하는 것은 HTML, CSS일 뿐이고 그에 대한 동작은 자바스크립가 해주는 것입니다. React는 결국 자바스크립트일 뿐입니다. React는 JS로 HTML, CSS를 만들어 내는 존재일 뿐입니다. React로 작업해도 그 결과물은 html, css, JS가 나와야 합니다. 그래야만 브라우저가 코드를 읽고 화면을 그릴수 있는 것..
JS 유용한 배열 메서드 정리. forEach, map, reduce, find, filter 등등 // forEach는 map과는 다르게 반환값이 없음. 따라서 return해도 undefined가 나옴. let answer=[3,2,1,4]; let attempt=[1,2,3,4]; let strike=0; let ball=0; for(let i=0;i-1){ if(idx==i){ strike+=1; continue; } ball+=1; } } attempt.forEach((value, idx)=>{ let index=answer.indexOf(value); if(index>-1){ if(idx==index){ strike+=1; } else{ ball+=1; } } }); let arr2=[1,2,3,4,5]; /* 아래 세 표현식은 모두 같은 표현식이다. 주의할 것은 중괄호와 return문이 붙어..
Node.js) BOJ 20040번 : 사이클게임 https://www.acmicpc.net/problem/20040 const fs=require('fs'); const filepath=process.platform==='linux'?'dev/stdin':'./input.txt'; const input = fs.readFileSync(filepath).toString().trim().split("\n"); input[0]=input[0].split(" ").map(n=>+n); const node=input[0][0]; const times=input[0][1]; class Edge{ constructor(from, to){ this.from=from; this.to=to; } } class UnionFind{ constructor(n){ this.p..
백준(BOJ) 20040: 사이클 게임 https://www.acmicpc.net/problem/20040 자료구조 문제로 Union-find집합자료구조를 묻고 있다. "사이클=집합" 이라는 것을 항상 기억하고 사이클에 관한 문제라면 어떻게든 Union-find를 사용하려고 해야한다. 사이클은 다른 말로 집합을 형성하는 것이다. 같은 집합에 속해있는 정점들만 선택하면 하나의 사이클을 만든다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static class Edge { int from; int to; public Edg..
Node.js) BOJ 11286번 : 절댓값 힙 const [_, ...input] = fs.readFileSync(filepath).toString().trim().split("\n"); 위와 같은 표현식이 낯설었다. 이렇게 쓴 이유는 인자를 받을 때 처음 받는 인자는 불필요하여 버릴때 위와 같이 배열 안에 언더바를 사용할 수 있다. input은 내가 입력한 데이터를 포함한 개행문자까지 모두 포함되고 거기에 추가로 배열의 형식인 쉼표 까지 추가된다. 예를들어 이 문제의 초기 입력 데이터가 와 같을 때 input에 들어간 값을 console.log로 확인해 보면 와 같음을 확인할 수 있다(아래 코드에 모든거 남겨놓았다). 그리고 이것을 const num = input.map(v => +v); 한 결과 num을 출력해 보면 num: 1,-1,0,0,0,..
백준(BOJ) 11286 : 절댓값 힙 https://www.acmicpc.net/problem/11286 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Comparator; import java.util.PriorityQueue; public class Main{ public static class Element{ int original; int ab; public Element(int original){ this.original=original; this.ab=Math.abs(original); } public int getAbsValue(){ return ab; } public int getOriginal(){ return original..
백준(BOJ) 1463: 1로 만들기 이미 푼 문제이므로 다른 설명은 따로 하지 않겠다. 다만 node.js로 풀때 입력값을 받을 때 아래와 같이 toString()뒤에 있는 split("\n")가 이 문제에서는 redundant하다. 문제가 여기에서 그치면 상관없는데 이런 부수적인 것이 있으면 라고 오류를 뱉는다. const fs=require('fs'); const filepath=process.platform==='linux'?'dev/stdin':'./input.txt'; let input=fs.readFileSync(filepath).toString().split("\n"); solution(+input) function solution(n){ const dp=new Array(n+1).fill(0); for(let i=2;i
제로초 baseball Toy project 학습내용 보통이렇게 form과 input태그가 함께 쓰이면 form태그에 evnet를 추가하여 줌. 그래서 아래 코드에$form.addEventListener("submit", (event) => { });와 같이 코딩한 것임. 사실 form 태그 없이 input만 써도 되긴합니다. 하지만 html의 웹표준을 준수하려고 form안에 input태그를 사용해 준것입니다. 버튼(click)과 달리 form태그는 submit이라는 이벤트가 존재합니다. 이렇게 해서 form안에 있는 button을 누르게 되면 submit이 호출되게 됩니다. 기본적으로 아래와 같은 주소(~.html)였다. 그런데 확인 버튼을 누르면 화면이 깜빡거리는 동시에 이 주소가 로 바뀌는 것을 볼수있다(뒤에 ? 가 덧붙음). 이것이 바로 form 의..