목록분류 전체보기 (298)
\(@^0^@)/
첫번째 argument : 길이가 10이 되어야하는 String 만약, 길이가 10이 아니라면 (현재 hello는 길이가 5인 문자이다) 두번째 argument : 적혀있는 "!"의 문자로 부족한 길이를 채운다. 그러므로, 느낌표 다섯개가 추가 됨. String으로만 받을 수 있으니 주의하자! 숫자에 사용하고 싶다면, 아래의 코드를 이용하자 ※ 참고 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
🐱👓 1. 문제 : 3052 https://www.acmicpc.net/problem/4344 🔥 2. 풀이 + 코드 const fs = require('fs'); const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(file).toString().trim().split('\n'); let testCase = Number(input[0]); // 1. test case의 개수를 제외 한 각 줄에서 인덱스 0 을 제외하고 모두 더한다. // 2. 그 더한 값을 그 줄의 학생 수로 나누면 ==> 그 줄의 평균 점수 // 3. 평균 점수를 그 줄의 학생의 점수와 비교해서 count..
🐱👓 1. 문제 : 3052 https://www.acmicpc.net/problem/8958 🔥 2. 풀이 + 코드 const fs = require('fs'); const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(file).toString().trim().split('\n'); let n = Number(input[0]); // i = 1 을 해주는 이유는, 0부터 시작하면 input[0] 이어서 test case의 개수가 뜸. for (let i = 1; i
🐱👓 1. 문제 : 3052 https://www.acmicpc.net/problem/3052 🔥 2.1 Set을 이용한 풀이 const fs = require('fs'); const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; // 입력받은 문자배열을 숫자배열로 변환, Num으로 바꿔야 공백없이 제대로 비교 가능. // trim()을 적용해야만 마지막에 공백 ''가 없음. let input = fs.readFileSync(file).toString().trim().split('\n').map(n => Number(n)); //[ 39, 40, 41, 0, 1, 2, 40, 41, 0, 1] let arr = input.map..
🐱👓 1. 문제 : 2577 https://www.acmicpc.net/problem/2577 🔥 2.1 split을 이용한 코드 const fs = require('fs'); const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; // Num으로 바꿔야 공백없이 제대로 비교 가능. let input = fs.readFileSync(file).toString().split('\n').map(n => Number(n)); let first = input[0]; let sec = input[1]; let third = input[2]; let multi = String(first * sec * third); // 간결하게 let ..
※ 참고 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference
🐱👓 1. 문제 : 1110 https://www.acmicpc.net/problem/1110 🔥 2. 코드와 풀이 const fs = require('fs'); const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(file).toString(); let plus = 0 let count = 0; let num = Number(input); let trueOrfalse = true; // 2+6 = 8 // 1. 6+8 = 14 // 2. 8+4 = 12 // 3. 4+2 = 6 // 4. 2+6 = 8 while(trueOrfalse) { // 예시 input 26 // (..
🐱👓 1. 문제 : 15552 https://www.acmicpc.net/problem/10952 🔥 2 shift 메서드를 사용한 코드 const fs = require('fs'); const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(file).toString().split('\n'); // console.log(input); // [ '1 1\r', '2 3\r', '3 4\r', '9 8\r', '5 2\r', '0 0' ] // console.log(input[1]); // 2 3 (공백까지 포함) // console.log(input[1][2]); // 3 // c..
CSS는 브라우저 오른쪽 밑에서부터 좌표를 계산하고 JS는 브라우저 왼쪽 위에서부터 좌표를 계산한다. client는 현재 보이는 브라우저 기준이 되어서 X, Y 값을 계산하고 page는 page 전체가 기준이 되어서 X, Y 값을 계산한다.
브라우저는 HTML을 읽다가 내부, 외부 script 태그를 만나면 스크립트를 먼저 실행해야 하므로 내부의 DOM 작동을 멈추고, 외부는 스크립트를 다운받은 후 남은 페이지를 처리 함. 그래서, 이러한 동작 방식의 단점은 1. 스크립트에서는 스크립트 아래에 있는 DOM 요소에 접근 할 수 없으므로, DOM요소에 핸들러를 추가하는 등의 행위가 불가능 해짐. 2. 페이지 위쪽에 용량이 큰 스크립트가 있을 경우, 그 큰 스크립트를 다운받고 실행될 때 까지 스크립트 아래쪽을 볼 수 없음. 이러한 문제의 해결방안은 1. body 태그의 맨밑에 script 태그를 놓으면, 스크립트 위에 있는 요소들에 접근이 가능해짐. 하지만, HTML 문서 자체 용량이 클 경우, 브라우저가 HTML문서 전체를 다운로드 한 다음에 ..