자바스크립트 98

[백준/ node.js] 함수 - 4673번 셀프 넘버

https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 문제 셀프 넘버는 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))), ...과 같은 무한 수열을 ..

ALGORITHM 2021.07.13

[JS] 바닐라 자바스크립트로 미니 가계부앱 만들기

미니 가계부앱 with vanilla javascript 바닐라 자바스크립트로 첫번째로 선택한 프로젝트는 가계부앱! 노마드코더 투두리스트 강의때 배웠던 내용들을 응용하였고 나머지는 구글링 해가며 코딩하였다. 실행 화면 (흔한 대학생의 가계부..) 기능 수입/지출, 종류, 금액, 내용 입력하면 전체 내역란에 리스트가 등록 => classList를 사용해 +버튼을 누르면 입력창이 나타남. 밑에서 위로 올라오는 css 애니메이션 사용 => 수입/지출은 라디오 버튼, 종류는 select 태그, 금액과 내용은 input태그로 각각 type은 number, text로 지정 => 지출 체크 시 금액은 입력 값이 양수든 음수든 모두 음수로 받음 => 가격이 양수인지 음수인지에 따라 빨간색, 초록색으로 색상 다르게 출력..

FRONT/JAVASCRIPT 2021.07.13

[드림코딩 by 엘리] 바닐라JS로 쇼핑몰 미니게임 만들기

// Fetch the items from the JSON file function loadItems() { return fetch("data/data.json") .then((response) => response.json()) //json으로 변환 .then((json) => json.items); //json 안의 items를 return } // 받아온 아이템들로 리스트를 업데이트 function displayItems(items) { const container = document.querySelector(".items"); container.innerHTML = items.map((item) => createHTMLString(item)).join(""); //join -> 문자열의 배열을 하..

FRONT/JAVASCRIPT 2021.07.11

[백준/ node.js] 배열 - 4344번 평균은 넘겠지

https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. c..

ALGORITHM 2021.07.04

[백준/ node.js] 배열 - 8958번 OX퀴즈

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작..

ALGORITHM 2021.07.03

[백준/ node.js] 배열 - 1546번 평균

https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을..

FRONT/JAVASCRIPT 2021.07.02

백준 node.js로 여러 줄의 값 입력받을 때 주의해야 할 점

백준 문제를 풀 때 여러 줄의 값을 입력 받는 경우 의문을 가지게 했던 점이 있었다. const input = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(Number); 이렇게 개행문자('\n')로 나눠 값들을 입력 받아 배열을 반환할 때 입력 값의 마지막에 개행문자가 포함된 경우 값 하나를 더 갖는다는 것이다. 예를 들어 1부터 10까지를 입력받았을 때, //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0] 이렇게 0이라는 하나의 값을 더 갖는 배열을 반환한다. 이를 막기 위해선 trim()을 사용한다. const input = require('fs').readFileSync('/dev/stdin').toStri..

ALGORITHM 2021.07.01

[백준/ node.js] 배열 - 3052번 나머지

https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 ..

ALGORITHM 2021.06.30

[javascript] 실행 컨텍스트

실행 컨텍스트 자바스크립트의 동작 원리의 핵심 개념이다. 4가지 타입의 소스코드는 실행 컨텍스트를 생성한다. 전역 코드 함수 코드 eval 코드 모듈 코드 소스코드의 평가와 실행 평가 실행 컨텍스트를 생성하고 선언문만 먼저 실행하여 생성된 변수나 함수 식별자를 스코프에 등록한다. 실행 선언문을 제외한 소스코드가 순차적으로 실행된다. 소스코드 실행에 필요한 정보는 실행 컨텍스트가 관리하는 스코프에서 검색하여 취득하고, 소스코드의 실행결과는 다시 스코프에 등록된다. 실행 컨텍스트의 역할 전역 코드 평가 전역 코드 실행 함수 코드 평가 함수 코드 실행 이러한 순서로 소스코드를 실행하고, 실행 컨텍스트는 이를 위해 필요한 환경을 제공하고 코드의 실행 결과를 실제로 관리하는 내부 메커니즘이다. 모든 코드는 실행 ..

FRONT/JAVASCRIPT 2021.06.29

[백준/ node.js] 배열 - 2577번 숫자의 개수

https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 문제 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 입력 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어..

ALGORITHM 2021.06.29