분류 전체보기
[JAVASCRIPT] 백준 4150번 문제 풀이
문제 피보나치 수열은 다음과 같이 그 전 두 항의 합으로 계산되는 수열이다. 첫 두 항은 1로 정의된다. f(1) = 1, f(2) = 1, f(n > 2) = f(n − 1) + f(n − 2) 정수를 입력받아, 그에 해당하는 피보나치 수를 출력하는 프로그램을 작성하여라. 예제 입력 1 100 예제 출력 1 354224848179261915075 ❗ 풀이 let input = require('fs').readFileSync('input.txt').toString().split('\n'); let count = Number(input[0]); let fibonacci = [0,1]; let sum = 0; for (let i = 1 ; i
[JAVASCRIPT] 백준 4673번 문제 풀이
문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라..
[JAVASCRIPT] 백준 1546번 문제 풀이
문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대..
[JAVASCRIPT] 백준 10818번 문제 풀이
문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 예제 입력 1 5 20 10 35 30 7 예제 출력 1 7 ❗ 풀이 let input = require('fs').readFileSync('/dev/stdin').toString().split('\n'); let count = Number(input[0]); let numbers = input[1].split('..
[자바스크립트 / Vanilla JS] parseInt()와 Number()의 차이점
나는 개발을 진행해가며 문자열을 정수형으로 변환 하는 일을 꽤나 자주 겪고는 한다. 문자열을 정수형으로 변환하는 많은 예제들을 구글링 해보았을 때 문자열을 정수형으로 변환하는 방법이 2가지가 있었다. 참고로 나는 parseInt()만 주구장창 썼다. 바로 parseInt()와 Number()이다. Number()는 어떤 결과값이 도출될지 궁금하여 내 코드에 Number도 적용했는데 parseInt()를 썼을 때와 같은 결과가 나왔다....! 그래서 드는 의문이 "같은 결과가 나오는데 왜 문자열을 정수형으로 변환하는 방법이 2가지이지 ?" 라는 생각이 들었다. 그래서 이 번 포스팅은 parseInt()와 Number()의 차이점과 사용법 및 정의에 대해서 다루어보겠다. ❗ parseInt() 먼저 pars..
[자바스크립트 / Vanilla JS] 스프레드 연산자 (Spread Operator)
ES6에서는 '...'와 같이 다소 특이한 형태의 문법이 추가되었습니다. 점 3개가 연달아 붙어있는 이 표시는 Spread Operator(스프레드 오퍼레이터, 스프레드 연산자, 전개 구문, 펼침 연산자...)를 나타내는 것으로, 배열, 함수, 객체 등을 다루는 데 있어서 매우 편리하고 재미(?) 있는 새로운 기능을 제공한다. 이번 글에서는 스프레드 연산자에 대해서 살펴보도록 하겠다. ❗ Spread Operator 기본 문법 스프레드 연산자를 사용하면 배열, 문자열, 객체 등 반복 가능한 객체 (Iterable Object)를 개별 요소로 분리할 수 있습니다. 간단한 예를 들면 다음과 같은 표현을 들 수 있다. // Array let arr1 = [1, 2, 3, 4, 5]; let arr2 = [....
서울 노들섬에서의 JSConf Korea 2022 후기 !
이런 후기글은 처음이라 시작을 어떻게 해야할지 모르겠지만 일단 시작해야하니 시작하겠다. 이 번에 좋은 기회를 얻어 서울 노들섬 다목적홀에서 열리는 JSConf Korea 2022에 다녀왔다. 나는 사실 오직 학습만을 위한 목적으로 해당 행사에 참여한 것은 아니다. 왜냐하면 난 아직 쓰레기같은 코드를 생산하는 닉네임 대로 Lv1_junior_dev니까... 다만 좋은 자극과 경험 그리고 또 다른 프론트엔드 개발자들을 직접 보고 그 들과 얘기도 나누고 싶어서였다. 잡담은 이 쯤에서 각설하고 본격적으로 JSConf Korea 2022 후기를 시작하겠다 ! JSConf Korea 2022가 열린곳은 바로 서울의 노들섬 다목적홀이였다. 게이트 앞만 가도 뭔가 개발자로 보이는 사람이 모여있었다. 가슴이 뜨거워졌었다..
[자바스크립트 / Vanilla JS] 클래스 (class) 총정리
클래스 (class) 란 ❓ MDN에서 클래스를 다음과 같이 설명한다. 클래스는 일차적으로 자사크르비트의 기존 프로토타입 기반 상속에 대한 문법적 설탕(syntax sugar)이다. 클래스 문법이 자바스크립트에 새로운 객체 지향 상속 모델을 도입하는 것은 아니다. 라고 문법적 설탕(Syntax Sugar)이란 ❓ Syntax Sugar는 한국어로 문법 설탕이라고 번역된다. JS뿐만 아니라 프로그래밍 언어 전반적으로 적용되는 개념이며, 달달한 이름에 걸맞게 읽는 사람 또는 작성하는 사람이 편하게 디자인 된 문법이라는 뜻을 갖고 있다. 본격적으로 클래스를 살펴보기 전에 프로토타입 상속 예시를 먼저 보자. function Person(name, age) { this.name = name; this.age = ..