목록Javascript + Typescript/자바스크립트로 알고리즘풀기 (335)
치춘짱베리굿나이스
홍익대학교 문제 홍익대학교는 1946년에 개교하였다. 특정 년도가 주어졌을 때, 그 해가 개교 몇 주년인지 출력하라. 단, 홍익대학교는 없어지지 않는다고 가정한다. 문제는 C, C++, JAVA 또는 Python3을 이용하여 해결한다. 입력 입력으로 첫 줄에 특정 년도를 알리는 정수 N이 주어진다. 정수 N은 1,946 부터 1,000,000 사이의 값이다. (1,946 ≤ N ≤ 1,000,000) 출력 출력으로 홍익대학교의 개교 주년을 나타내는 정수를 출력한다. 풀이 const hongik = () => { let i = Number(require("fs").readFileSync("/dev/stdin").toString().trim()); console.log(i - 1946); }; hongik();
부호 문제 N개의 정수가 주어지면, 이 정수들의 합 S의 부호를 구하는 프로그램을 작성하시오. 입력 총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거나 같다. 출력 총 3개의 줄에 걸쳐 각 테스트 셋에 대해 N개의 정수들의 합 S의 부호를 출력한다. S=0이면 "0"을, S>0이면 "+"를, S { const input = require("fs") .readFileSync("/dev/stdin") .toString() .trim() .split("\n") .map(BigInt); const len = input.length; ..
엔드게임 스포일러 문제 《어벤져스: 엔드게임》(영어: Avengers: Endgame)은 2019년 개봉한 미국의 슈퍼히어로 영화로, 마블 코믹스의 동명 팀을 원작으로 하고 있으며, 마블 스튜디오가 제작하고, 월트 디즈니 스튜디오스 모션 픽처스가 배급하였다. 이 영화는 2012년 영화 어벤져스와, 2015년 영화 어벤져스: 에이지 오브 울트론, 2018년 영화 어벤져스: 인피니티 워의 속편이자, 마블 시네마틱 유니버스 (MCU)의 22번째 작품에 해당한다. 앤서니 루소와 조 루소가 감독하고 크리스토퍼 마커스와 스티븐 맥필리가 공동으로 각본을 썼으며, 이전의 MCU 영화에보다도 많은 배우와 앙상블 캐스트들이 등장한다. 그래서 욱제는 이 문제에서 엔드게임 스포일러를 하려고 한다. 입력 어벤져스: 엔드게임의 ..
오늘의 날짜는? 문제 2018 SCAL-MOOKJA에 출전하기로 한 무근이와 인서는 대회 준비를 위해 같이 모여 문제를 풀기로 했다. 그런데 어느 날, 일어나서 날짜를 확인해 보니 무근이와 인서의 시계가 서로 다른 날짜를 가리키고 있었다. 두 사람이 정확한 날짜에 모일 수 있도록 문제를 푸는 지금 시각이 UTC+0(세계 표준시)을 기준으로 무슨 날짜인지 출력해 주는 프로그램을 작성하자. 만약 서울에서 확인한 시각이 2018년 9월 29일 오후 2시 정각이라면 UTC+0 기준의 시각은 2018년 9월 29일 오전 5시 정각이다. Fri Sep 29 05:00:00 UTC 2018 입력 이 문제는 입력이 없다. 출력 지금 시각을 UTC+0(세계 표준시)을 기준으로 나타냈을 때의 연도, 월, 일을 한 줄에 하..
새로운 시작 문제 부산일과학고등학교는 태어난지 얼마 안 된 킹-갓 과학고등학교다. 우리들을 위해 응원의 한마디를 출력하자. 입력 입력은 없다. 출력 파이팅!!을 출력한다. 풀이 const newStart = () => { console.log("파이팅!!"); }; newStart();
팩토리얼 0의 개수 문제 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500) 출력 첫째 줄에 구한 0의 개수를 출력한다. 풀이 const factorial = () => { let n = Number(require("fs").readFileSync("/dev/stdin").toString().trim()); let ans = 0; for (let i = 1; i
나는야 포켓몬 마스터 이다솜 문제 … 오박사 : 그럼 다솜아 이제 진정한 포켓몬 마스터가 되기 위해 도감을 완성시키도록 하여라. 일단 네가 현재 가지고 있는 포켓몬 도감에서 포켓몬의 이름을 보면 포켓몬의 번호를 말하거나, 포켓몬의 번호를 보면 포켓몬의 이름을 말하는 연습을 하도록 하여라. 나의 시험을 통과하면, 내가 새로 만든 도감을 주도록 하겠네. 입력 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 물어봐도 괜찮아. 나는 언제든지 질문에 답해줄 준비가 되어있어. 둘째 줄부터 N개의 줄에 포켓몬의 번호가 1번인 포켓몬부터 N번에 해당하는 포켓몬까지..
조합 문제 nCm을 출력한다. 입력 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) 출력 nCm을 출력한다. 풀이 const comb = () => { const [n, m] = require("fs") .readFileSync("/dev/stdin") .toString() .trim() .split(" ") .map(Number); const dp = Array.from({ length: n + 1 }, (v) => BigInt(0)); dp[1] = BigInt(1); for (let i = 2; i