From 725d6611ed631c6387788b94ed6a16721b41a5b4 Mon Sep 17 00:00:00 2001 From: eunjung Date: Sun, 1 May 2022 12:26:20 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EC=9D=B4=EC=9D=80=EC=A0=95=5F=EB=B0=B1?= =?UTF-8?q?=EC=A4=80=20=EB=AC=B8=EC=A0=9C=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bj2557.js | 1 + bj2753.js | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 bj2557.js create mode 100644 bj2753.js diff --git a/bj2557.js b/bj2557.js new file mode 100644 index 0000000..db79aa1 --- /dev/null +++ b/bj2557.js @@ -0,0 +1 @@ +console.log("Hello World!") \ No newline at end of file diff --git a/bj2753.js b/bj2753.js new file mode 100644 index 0000000..c96550d --- /dev/null +++ b/bj2753.js @@ -0,0 +1,11 @@ +let input = require('fs').readFileSync('dev/stdin').toString().split(' '); +const num1 = Number(input[0]); +if(num1 % 4 === 0 && num1 % 100 !== 0){ + console.log("1") +} + +else if(num1 % 400 === 0){ + console.log("1") +} + +else{ console.log("0")} \ No newline at end of file From 5dcda471cc91d06bec1e6a8b282a0204c247c98b Mon Sep 17 00:00:00 2001 From: eunjung Date: Sun, 1 May 2022 12:27:10 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=EC=9D=B4=EC=9D=80=EC=A0=95=5F=EB=B0=B1?= =?UTF-8?q?=EC=A4=80js=EB=AC=B8=EC=A0=9C=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/launch.json | 17 +++++++++++++++++ bj10818.js | 34 ++++++++++++++++++++++++++++++++++ bj10869.js | 10 ++++++++++ bj2438.js | 9 +++++++++ bj2741.js | 17 +++++++++++++++++ bj3052.js | 15 +++++++++++++++ bj9498.js | 20 ++++++++++++++++++++ 7 files changed, 122 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 bj10818.js create mode 100644 bj10869.js create mode 100644 bj2438.js create mode 100644 bj2741.js create mode 100644 bj3052.js create mode 100644 bj9498.js diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..e933110 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,17 @@ +{ + // IntelliSense를 사용하여 가능한 특성에 대해 알아보세요. + // 기존 특성에 대한 설명을 보려면 가리킵니다. + // 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요. + "version": "0.2.0", + "configurations": [ + { + "type": "pwa-node", + "request": "launch", + "name": "Launch Program", + "skipFiles": [ + "/**" + ], + "program": "${workspaceFolder}\\bj2557.js" + } + ] +} \ No newline at end of file diff --git a/bj10818.js b/bj10818.js new file mode 100644 index 0000000..4a529ce --- /dev/null +++ b/bj10818.js @@ -0,0 +1,34 @@ +let fs = require('fs'); +let input = fs.readFileSync('/dev/stdin').toString().split('\n'); /*문자열을 일정한 구분자(여기서는 공백)로 구분해서 배열, 저장*/ + +let count = Number(input[0]); +let numberStr = input[1].split(' '); + +let numbers = numberStr.map(function(cur) { + return Number(cur); +}); + +let max = numbers[0]; +let min = numbers[0]; +for (let i = 1; i < count; i++) { + if (max < numbers[i]) { + max = numbers[i]; + } + if (min > numbers[i]) { + min = numbers[i]; + } +} +console.log(`${min} ${max}`); +/*map은 배열을 순회하면서 실행되는 콜백함수의 결과값들을 새로운 배열로 반환한다. +let array = [1, 4, 9, 16]; +let result = array.map(x => x * 2); + +배열에 map 메소드를 사용해서 리턴값으로 배열의 원소 *2 값을 result 에 할당한다. +화살표함수( 전통적인 함수표현(function)의 간편한 대안) + +console.log(array) //map 은 원본값은 건드리지 않고 새로운 배열을 생성하여 리턴한다. + [1, 4, 9, 16] +console.log(result) // 새로운 배열을 생성하여 result의 할당한 결과값. +[2, 8, 18, 32]*/ + + diff --git a/bj10869.js b/bj10869.js new file mode 100644 index 0000000..f07b343 --- /dev/null +++ b/bj10869.js @@ -0,0 +1,10 @@ +let input = require('fs').readFileSync('dev/stdin').toString().split(' '); + +const num1 = Number(input[0]); +const num2 = Number(input[1]); + +console.log(num1 + num2); +console.log(num1 - num2); +console.log(num1 * num2); +console.log(Math.floor(num1 / num2)); /*Math.floor는 나머지 버림함수(파이썬이랑 동일)*/ +console.log(num1 % num2); \ No newline at end of file diff --git a/bj2438.js b/bj2438.js new file mode 100644 index 0000000..cc275d8 --- /dev/null +++ b/bj2438.js @@ -0,0 +1,9 @@ +let input = [0] + let num1 = Number(input[0]) +for ( let i = 1; i <= num1; i++){ + let stars = []; + for(let j = 1; j <= i; j++){ + stars += '*' + } + console.log(stars); +} \ No newline at end of file diff --git a/bj2741.js b/bj2741.js new file mode 100644 index 0000000..0d03328 --- /dev/null +++ b/bj2741.js @@ -0,0 +1,17 @@ +/*let input = require('fs').readFileSync('dev/stdin').toString().split(' '); + +const num1 = Number(input[0]); + +for (i = 1; i <= num1; i++){ + console.log(i); +}*/ + +let input = require("fs").readFileSync("dev/stdin").toString().split(" "); +let num = Number(input); + +let str = ""; +for (let i = 1; i <= num; i++) { + str = str + i + "\n"; /* \n은 enter 개념으로 이해*/ +} + +console.log(str); \ No newline at end of file diff --git a/bj3052.js b/bj3052.js new file mode 100644 index 0000000..0489aab --- /dev/null +++ b/bj3052.js @@ -0,0 +1,15 @@ +/* 입력받은 수가 담긴 배열에서 중복된 값을 제거한 컬렉션을 만들어서 요소의 갯수를 출력 +-Set 객체를 활용해 중복된 요소가 없는 컬렉션을 생성한 후 배열로 만들기 +-filter()와 indexOf()를 활용하여 콜백함수(:다른 함수에 매개변수로 넘겨준 함수,나중에 필요할 때 콜백-호출 한다)에서 +받아온 요소들을 indexOf()에 전달 해주어 검사중인 요소의 index와 배열에서 해당 요소의 첫 index를 비교하여 새로운 배열을 만듦 +-foreEach()와 includes()를 활용하여 기존 배열에 없는 요소만 새로운 배열에 추가해서 중복 없는 배열을 만드는 방법 +-Set 객체를 활용하면 간단하게 중복 없는 컬렉션을 만들수 있다. +(참고 : https://velog.io/@wandakim/boj-node.js-%EB%B0%B1%EC%A4%80-3052%EB%B2%88-%EB%82%98%EB%A8%B8%EC%A7%80-javascript) */ + +const fs = require('fs'); +const input = fs.readFileSync('dev/stdin').toString().trim().split('\n').map(val=>+val); + +const arr = input.map((el) => el % 42); +const set = new Set(arr); +const uniqueArr = [...set]; +console.log(uniqueArr.length); \ No newline at end of file diff --git a/bj9498.js b/bj9498.js new file mode 100644 index 0000000..c635a08 --- /dev/null +++ b/bj9498.js @@ -0,0 +1,20 @@ +let input = require('fs').readFileSync('dev/stdin').toString().split(' '); +const num1 = Number(input[0]); +if(num1>= 90 && num1 <= 100){ + console.log("A") +} + +else if(num1>= 80 && num1 <= 89){ + console.log("B") +} + +else if(num1>= 70 && num1<= 79){ + console.log("C") + +} +else if(num1>= 60 && num1 <=69){ + console.log("D") +} + +else{ console.log("F")} + /*&&는 둘다 참일 때 참, ||는 둘 중 하나만 참이어도 참*/ From 4eed1afc1f86ec90f67acaa980dd1e09888cad66 Mon Sep 17 00:00:00 2001 From: DongRyeong Lee Date: Sun, 1 May 2022 19:08:20 +0900 Subject: [PATCH 3/3] Commit fe-week1 practice --- b10818.js | 14 ++++++++++++++ b10869.js | 14 ++++++++++++++ b2438.js | 15 +++++++++++++++ b2557.js | 7 +++++++ b2741.js | 14 ++++++++++++++ b2753.js | 16 ++++++++++++++++ b3052.js | 22 ++++++++++++++++++++++ b9498.js | 19 +++++++++++++++++++ bj10818.js | 34 ---------------------------------- bj10869.js | 10 ---------- bj2438.js | 9 --------- bj2557.js | 1 - bj2741.js | 17 ----------------- bj2753.js | 11 ----------- bj3052.js | 15 --------------- bj9498.js | 20 -------------------- 16 files changed, 121 insertions(+), 117 deletions(-) create mode 100644 b10818.js create mode 100644 b10869.js create mode 100644 b2438.js create mode 100644 b2557.js create mode 100644 b2741.js create mode 100644 b2753.js create mode 100644 b3052.js create mode 100644 b9498.js delete mode 100644 bj10818.js delete mode 100644 bj10869.js delete mode 100644 bj2438.js delete mode 100644 bj2557.js delete mode 100644 bj2741.js delete mode 100644 bj2753.js delete mode 100644 bj3052.js delete mode 100644 bj9498.js diff --git a/b10818.js b/b10818.js new file mode 100644 index 0000000..9fb3f19 --- /dev/null +++ b/b10818.js @@ -0,0 +1,14 @@ +// LikeLion 백준 문제풀이 +// 10818. 최소, 최대 +// N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. +// 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. +// 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. +// 멋대 10기 이동령 +const [n, ...arr] = require("fs") + .readFileSync("/dev/stdin") + .toString() + .trim() + .split(/\s/); + +arr.sort((a, b) => a - b); +console.log(arr[0] + " " + arr[n - 1]); diff --git a/b10869.js b/b10869.js new file mode 100644 index 0000000..1409b33 --- /dev/null +++ b/b10869.js @@ -0,0 +1,14 @@ +// LikeLion 백준 문제풀이 +// 10869. 사칙연산 +// 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. +// 멋대 10기 이동령 +let input = require("fs").readFileSync("dev/stdin").toString().split(" "); + +const num1 = Number(input[0]); +const num2 = Number(input[1]); + +console.log(num1 + num2); +console.log(num1 - num2); +console.log(num1 * num2); +console.log(Math.floor(num1 / num2)); +console.log(num1 % num2); diff --git a/b2438.js b/b2438.js new file mode 100644 index 0000000..b5ab917 --- /dev/null +++ b/b2438.js @@ -0,0 +1,15 @@ +// LikeLion 백준 문제풀이 +// 2438. 별 찍기 - 1 +// 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 +// 멋대 10기 이동령 +let input = require("fs").readFileSync("dev/stdin").toString().split(" "); + +const n = Number(input[0]); + +for (let i = 1; i <= n; i++) { + let star = ""; + for (let j = 0; j < i; j++) { + star += "*"; + } + console.log(star); +} diff --git a/b2557.js b/b2557.js new file mode 100644 index 0000000..f8c2a9d --- /dev/null +++ b/b2557.js @@ -0,0 +1,7 @@ +// LikeLion 백준 문제풀이 +// 2557. Hello World! +// Hello World!를 출력하시오. +// 멋대 10기 이동령 +let input = require("fs").readFileSync("dev/stdin").toString().split(" "); + +console.log("Hello World!"); diff --git a/b2741.js b/b2741.js new file mode 100644 index 0000000..87dd329 --- /dev/null +++ b/b2741.js @@ -0,0 +1,14 @@ +// LikeLion 백준 문제풀이 +// 2741. N 찍기 +// 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. +// 멋대 10기 이동령 +let input = require("fs").readFileSync("dev/stdin").toString().split(" "); + +const n = Number(input[0]); +let result = ""; + +for (let i = 1; i <= n; i++) { + result += i + "\n"; +} + +console.log(result); diff --git a/b2753.js b/b2753.js new file mode 100644 index 0000000..b45870a --- /dev/null +++ b/b2753.js @@ -0,0 +1,16 @@ +// LikeLion 백준 문제풀이 +// 2753. 윤년 +// 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. +// 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. +// 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. +// 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. +// 멋대 10기 이동령 +let input = require("fs").readFileSync("dev/stdin").toString().split(" "); + +const year = Number(input[0]); + +if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { + console.log(1); +} else { + console.log(0); +} diff --git a/b3052.js b/b3052.js new file mode 100644 index 0000000..f4c6978 --- /dev/null +++ b/b3052.js @@ -0,0 +1,22 @@ +// LikeLion 백준 문제풀이 +// 3052. 나머지 +// 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. +// 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. +// 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. +// 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. +// 멋대 10기 이동령 +const input = require("fs") + .readFileSync("/dev/stdin") + .toString() + .trim() + .split("\n"); + +let result = []; + +for (let i = 0; i < input.length; i++) { + let remainder = input[i] % 42; + if (result.indexOf(remainder) == -1) { + result.push(remainder); + } +} +console.log(result.length); diff --git a/b9498.js b/b9498.js new file mode 100644 index 0000000..96d5c8e --- /dev/null +++ b/b9498.js @@ -0,0 +1,19 @@ +// LikeLion 백준 문제풀이 +// 9498. 시험 점수 +// 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. +// 멋대 10기 이동령 +let input = require("fs").readFileSync("dev/stdin").toString().split(" "); + +const score = Number(input[0]); + +if (100 >= score && score >= 90) { + console.log("A"); +} else if (90 > score && score >= 80) { + console.log("B"); +} else if (80 > score && score >= 70) { + console.log("C"); +} else if (70 > score && score >= 60) { + console.log("D"); +} else { + console.log("F"); +} diff --git a/bj10818.js b/bj10818.js deleted file mode 100644 index 4a529ce..0000000 --- a/bj10818.js +++ /dev/null @@ -1,34 +0,0 @@ -let fs = require('fs'); -let input = fs.readFileSync('/dev/stdin').toString().split('\n'); /*문자열을 일정한 구분자(여기서는 공백)로 구분해서 배열, 저장*/ - -let count = Number(input[0]); -let numberStr = input[1].split(' '); - -let numbers = numberStr.map(function(cur) { - return Number(cur); -}); - -let max = numbers[0]; -let min = numbers[0]; -for (let i = 1; i < count; i++) { - if (max < numbers[i]) { - max = numbers[i]; - } - if (min > numbers[i]) { - min = numbers[i]; - } -} -console.log(`${min} ${max}`); -/*map은 배열을 순회하면서 실행되는 콜백함수의 결과값들을 새로운 배열로 반환한다. -let array = [1, 4, 9, 16]; -let result = array.map(x => x * 2); - -배열에 map 메소드를 사용해서 리턴값으로 배열의 원소 *2 값을 result 에 할당한다. -화살표함수( 전통적인 함수표현(function)의 간편한 대안) - -console.log(array) //map 은 원본값은 건드리지 않고 새로운 배열을 생성하여 리턴한다. - [1, 4, 9, 16] -console.log(result) // 새로운 배열을 생성하여 result의 할당한 결과값. -[2, 8, 18, 32]*/ - - diff --git a/bj10869.js b/bj10869.js deleted file mode 100644 index f07b343..0000000 --- a/bj10869.js +++ /dev/null @@ -1,10 +0,0 @@ -let input = require('fs').readFileSync('dev/stdin').toString().split(' '); - -const num1 = Number(input[0]); -const num2 = Number(input[1]); - -console.log(num1 + num2); -console.log(num1 - num2); -console.log(num1 * num2); -console.log(Math.floor(num1 / num2)); /*Math.floor는 나머지 버림함수(파이썬이랑 동일)*/ -console.log(num1 % num2); \ No newline at end of file diff --git a/bj2438.js b/bj2438.js deleted file mode 100644 index cc275d8..0000000 --- a/bj2438.js +++ /dev/null @@ -1,9 +0,0 @@ -let input = [0] - let num1 = Number(input[0]) -for ( let i = 1; i <= num1; i++){ - let stars = []; - for(let j = 1; j <= i; j++){ - stars += '*' - } - console.log(stars); -} \ No newline at end of file diff --git a/bj2557.js b/bj2557.js deleted file mode 100644 index db79aa1..0000000 --- a/bj2557.js +++ /dev/null @@ -1 +0,0 @@ -console.log("Hello World!") \ No newline at end of file diff --git a/bj2741.js b/bj2741.js deleted file mode 100644 index 0d03328..0000000 --- a/bj2741.js +++ /dev/null @@ -1,17 +0,0 @@ -/*let input = require('fs').readFileSync('dev/stdin').toString().split(' '); - -const num1 = Number(input[0]); - -for (i = 1; i <= num1; i++){ - console.log(i); -}*/ - -let input = require("fs").readFileSync("dev/stdin").toString().split(" "); -let num = Number(input); - -let str = ""; -for (let i = 1; i <= num; i++) { - str = str + i + "\n"; /* \n은 enter 개념으로 이해*/ -} - -console.log(str); \ No newline at end of file diff --git a/bj2753.js b/bj2753.js deleted file mode 100644 index c96550d..0000000 --- a/bj2753.js +++ /dev/null @@ -1,11 +0,0 @@ -let input = require('fs').readFileSync('dev/stdin').toString().split(' '); -const num1 = Number(input[0]); -if(num1 % 4 === 0 && num1 % 100 !== 0){ - console.log("1") -} - -else if(num1 % 400 === 0){ - console.log("1") -} - -else{ console.log("0")} \ No newline at end of file diff --git a/bj3052.js b/bj3052.js deleted file mode 100644 index 0489aab..0000000 --- a/bj3052.js +++ /dev/null @@ -1,15 +0,0 @@ -/* 입력받은 수가 담긴 배열에서 중복된 값을 제거한 컬렉션을 만들어서 요소의 갯수를 출력 --Set 객체를 활용해 중복된 요소가 없는 컬렉션을 생성한 후 배열로 만들기 --filter()와 indexOf()를 활용하여 콜백함수(:다른 함수에 매개변수로 넘겨준 함수,나중에 필요할 때 콜백-호출 한다)에서 -받아온 요소들을 indexOf()에 전달 해주어 검사중인 요소의 index와 배열에서 해당 요소의 첫 index를 비교하여 새로운 배열을 만듦 --foreEach()와 includes()를 활용하여 기존 배열에 없는 요소만 새로운 배열에 추가해서 중복 없는 배열을 만드는 방법 --Set 객체를 활용하면 간단하게 중복 없는 컬렉션을 만들수 있다. -(참고 : https://velog.io/@wandakim/boj-node.js-%EB%B0%B1%EC%A4%80-3052%EB%B2%88-%EB%82%98%EB%A8%B8%EC%A7%80-javascript) */ - -const fs = require('fs'); -const input = fs.readFileSync('dev/stdin').toString().trim().split('\n').map(val=>+val); - -const arr = input.map((el) => el % 42); -const set = new Set(arr); -const uniqueArr = [...set]; -console.log(uniqueArr.length); \ No newline at end of file diff --git a/bj9498.js b/bj9498.js deleted file mode 100644 index c635a08..0000000 --- a/bj9498.js +++ /dev/null @@ -1,20 +0,0 @@ -let input = require('fs').readFileSync('dev/stdin').toString().split(' '); -const num1 = Number(input[0]); -if(num1>= 90 && num1 <= 100){ - console.log("A") -} - -else if(num1>= 80 && num1 <= 89){ - console.log("B") -} - -else if(num1>= 70 && num1<= 79){ - console.log("C") - -} -else if(num1>= 60 && num1 <=69){ - console.log("D") -} - -else{ console.log("F")} - /*&&는 둘다 참일 때 참, ||는 둘 중 하나만 참이어도 참*/