본문 바로가기

JS66

[백준 11441/javascript] 합 구하기 구간합을 구현하는 문제이다 이게 왜 실버 3인지 전혀 모르겠지만... 문제 그대로 구현해주면 되는 문제이다 https://www.acmicpc.net/problem/11441 11441번: 합 구하기 첫째 줄에 수의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄에는 A1, A2, ..., AN이 주어진다. (-1,000 ≤ Ai ≤ 1,000) 셋째 줄에는 구간의 개수 M이 주어진다. (1 ≤ M ≤ 100,000) 넷째 줄부터 M개의 줄에는 www.acmicpc.net let input = []; const readline = require("readline").createInterface({ input: process.stdin, output: process.stdout, }); re.. 2022. 8. 25.
[백준 1463/javascript] 1로 만들기 '적은 시간이 주어지고, 매 차례마다 선택지를 고르며 최소한의 선택 수를 만들어라' - 다이나믹 프로그래밍 . 계산 이전의 경우 + 1의 수를 갖는다면 다이나믹 프로그래밍을 시도해보자 특히나 시간 제한이 있고 그 시간이 적다면 더더욱 다이나믹 프로그래밍인지 의심해보자 선택지를 통한 최소 선택시의 수, 적은 시간 등은 이 문제가 다이나믹 프로그래밍으로 풀 근거가 된다 일부 풀이에서는 다이나믹 프로그래밍과 재귀를 혼동하곤 하는데 재귀는 top-down 방식으로 n 에서 n-1 로 내려오며 base 조건에서 리턴하여 푸는 방법이고 다이나믹 프로그래밍은 bottom-up 방식으로 최소범위값 (여기서는 1) 부터 1씩 늘려가며 값이 될 수 있는 하위 요소들을 분석하며 로직을 찾아 배열로 쌓아가며 찾는 방식이다 요.. 2022. 8. 19.
[JS] 큰 수의 사용 시 BigInt 로 형변환 c++ 에서는 큰 수를 표현할때 longlong 자료형이 있고 파이썬은 큰 수여도 그냥 알아서 찰떡같이 알아듣는데... 이 빡대가리 자바스크립트는 BigInt 라는 형변환을 해줘야 큰 수의 연산이 가능하다!!! 너무너무 큰 수라면 c++도 맞는 숫자 자료형이 없으니 자바스크립트도 문자열로 바꿔서 연산해야겠지만 우리 부족하신 자바스크립트님은c++의 long long 범위의 해당하는 자료형도 없으셔서 21억 까지인 int 형을 넘어가면 c++의 long long 의 범위를 가지는 BigInt를 사용해서 수를 표현해야 하는데 BigInt는 숫자 자료형이 아닌 독립된 Object 객체이므로, js 내장 함수를 통한 대부분의 연산은 사용 할 수 없다 Math. 로 시작하는 내장함수들은 당연히 안되고 다른 숫자 자.. 2022. 8. 14.
[백준 1629/javascript] 곱셈 큰 수를 사용해야 하니 BigInt 를 알아야 하고 시간내에 풀어야 하니 재귀를 사용해서 풀어야 한다 두가지를 알아야 풀수있으니 생각보다 정답률이 낮은 문제다... 재귀 공부하려고 풀었다가 자바스크립트의 BigInt 에 머리를 탁 치고 간다;;; 함수 안에 함수를 쓸 수 있는 점은 괜찮다만... 자바스크립트 너... 진짜; https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net const readline = require("readline").createInterface({ input: process.stdin, o.. 2022. 8. 14.