목록알고리즘 (29)
\(@^0^@)/
🐱👓 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..
🐱👓 1. 문제 : 2439 https://www.acmicpc.net/problem/2439 🔥 2.1 for문을 중첩으로 사용한 코드 const fs = require('fs'); const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(file).toString().split('\n'); let result = ''; let blank = ''; for (let i = 1; i = 0; i--){ star[i] = "*"; console.log(star.join('')); } 🔥 2.3 repeat 메서드를 사용한 코드 const fs = require('fs'); cons..
🐱👓 1. 문제 : 15552 https://www.acmicpc.net/problem/15552 🔥 2.1 시간 초과에 걸린 코드 const fs = require('fs'); const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(file).toString().split('\n'); for (let i = 1; i
🐱👓 1. 문제 : 2884 https://www.acmicpc.net/problem/2884 🔥 2. 코드 겸 풀이 const fs = require('fs'); const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(file).toString().split('\n'); input = input[0]; input = input.split(' ').map((item) => Number(item)); solution(input[0], input[1]); function solution(H, M) { // 45분 일찍 알람 설정 // M = M - 45; M -= 45; // 만약..
백준 문제 14681번을 풀었는데, 런타임 에러 (EACCES) 가 발생하였다. 구글링 해보니, fs모듈로는 무조건 런타임 에러가 난다는 것... readLine모듈을 사용해야만 한다. 그래서 readLine모듈을 처음 사용해보기로 하였음. 🐱👓 1. 문제 : 백준 14681 https://www.acmicpc.net/problem/14681 🔥 2. 코드 // 값 입력받는 코드 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; rl.on('line', function (line) { input.pus..
백준 1단계 '입출력과 사칙연산'은 초보인 내가 풀기에도 어려운 문제들이 아녔어서, Console.log를 잘 활용하지 않았었는데 그 이후 단계부터는 문제를 풀 때, 콘솔을 마구마구 활용해야 하기 때문에 다른 개발자들은 JS로 알고리즘을 풀 때 어떻게 입력받는지 찾아보다가 '라매개발자'님의 유튜브를 보고 나도 저렇게 해봐야겠다는 생각이 들어서 다시 한번 정리를 하게 되었다. 🧐 한줄의 값을 받을 때 문제마다 폴더를 생성하여, 각 폴더에 js 와 txt 파일을 만들고 txt 파일 안에는 예제 입력 값을 복사해서 넣는다. 그리고 app.js 파일에는 1. 주석 처리한 코드는 지난번에 했던 input을 받는 방식. 2. 백준에서 linux로 결과를 처리하기 때문에 이번에는 process.platform을 이용..
🐱👓 1. 문제 : 10869 https://www.acmicpc.net/problem/10869 🔥 2. 코드 let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split(' '); let a = Number(input[0]); let b = Number(input[1]); console.log(a+b); console.log(a-b); console.log(a*b); console.log(parseInt(a/b)); console.log(a%b); ⚡ 3. 풀이 나눗셈은 정수만을 출력해야 하기 때문에 소수점을 없애줘야 한다. 다른 언어와 달리 JS에서 나눗셈을 연산하면, 소수점을 포함한 결과가 나옴. 위의 코드와..
백준에서 JS로 값 입력받는 방법을 알아야 한다. 다른 프로그래밍 언어의 경우, 잘은 모르지만 scanf( ), cin( ), scan.next( ), input( ) 등을 사용한다고 하는데 JS는 이런 기능을 사용하기 위해서는 fs모듈 또는 readline 모듈을 사용해야 한다. let fs = require('fs'); Node.js로 입력받는 법은 두 가지가 있는데 fs모듈이 동작속도가 더 빠르다고 하여, 우선은 fs모듈에 대해서만 알아보고 사용할 예정이다. 🤔 Fs모듈이란? FileSystem의 약자로, 직접 입력 파일을 읽어와서 처리. 백준 1000번 문제를 같이 보며 정리해보자. 한 줄의 값을 입력받을 때 공백을 기준으로 문자를 나누어서 값을 저장하고, 값을 사용할 때는 배열의 인덱스를 이용...