목록Javascript + Typescript/자바스크립트로 알고리즘풀기 (335)
치춘짱베리굿나이스
10부제 문제 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일, 27일에 운행하지 못한다. 또한, 자동차 번호의 일의 자리 숫자가 0이면 10일, 20일, 30일에 운행하지 못한다. 여러분들은 일일 경찰관이 되어 10부제를 위반하는 자동차의 대수를 세는 봉사활동을 하려고 한다. 날짜의 일의 자리 숫자가 주어지고 5대의 자동차 번호의 일의 자리 숫자가 주어졌을 때 위반하는 자동차의 대수를 출력하면 된다. 입력 첫 줄에는 날짜의 일의 자리 숫자가 주어지고 두 번째 줄에는 5대의 자동차 번호의 ..
뉴비의 기준은 뭘까? 문제 2020 INPC는 IGRUS 뉴비들을 위해 열리는 대회입니다. 하지만 영수 할아버지나 인용 할아버지와 같이 14학번이지만 마음만은 뉴비인 어르신들 때문에 대회장이 TLE들의 파티가 되자 뉴비의 기준을 정의하기로 하였습니다. INPC 운영진들은 고심 끝에 뉴비를 1학년 혹은 2학년인 학생으로 정의 내렸고 뉴비를 정의하는 김에 올드비와 TLE도 정의 내리기로 하였습니다. 올드비는 N학년 이하이면서 뉴비가 아닌 학생으로 정의하기로 하였고 TLE은 뉴비도 아니고 올드비도 아닌 학생으로 정의하였습니다. N과 M이 주어졌을 때, M학년이 뉴비인지 올드비인지 TLE인지 구별해 주세요. 입력 양의 정수 N과 M이 공백을 사이에 두고 주어집니다. 출력 M학년이 뉴비라면 NEWBIE!를, 올드..
Darius님 한타 안 함? 문제 아무래도 우리 팀 다리우스가 고수인 것 같다. 그의 K/D/A를 보고 그가 「진짜」인지 판별해 보자. K+A { let [k, d, a] = require("fs") .readFileSync("/dev/stdin") .toString() .trim() .split("/") .map(Number); if (d === 0 || k + a < d) console.log("hasu"); else console.log("gosu"); }; darius(); 반성회 점수보다 kda가 더 중요해요 탑은
연세대학교 문제 연세대학교의 영문명은 YONSEI, 슬로건은 Leading the Way to the Future이다. 이를 출력하는 프로그램을 작성해보도록 하자. 입력 첫째 줄에 N이 주어진다. (N = 0 또는 1) 출력 N = 0일 경우: 연세대학교의 영문명을 출력한다. N = 1일 경우: 연세대학교의 슬로건을 출력한다. 대소문자 구별에 주의하도록 하자. 풀이 const yonsei = () => { let input = require("fs").readFileSync("/dev/stdin").toString().trim(); console.log(input === "0" ? "YONSEI" : "Leading the Way to the Future"); }; yonsei();
팬들에게 둘러싸인 홍준 문제 홍준은 참 팬이 많다. 이를 본 구사과는 BOJ 슬랙에서 이모티콘을 만들었다. 선풍기 모양의 이모티콘은 :fan: 이고, 홍준의 이모티콘은 :(홍준의 아이디): 이다. 홍준의 아이디가 주어지면 구사과가 만든 이모티콘을 출력하는 프로그램을 작성하여라. 자세한 출력 방식은 입출력 형식을 참고하면 된다. 입력 첫 번째 줄에 홍준의 아이디를 입력받는다. 홍준의 아이디는 길이가 20 이하인 문자열이며, 알파벳 소문자, 알파벳 대문자, 숫자로만 이루어졌다. 출력 3개의 줄에 걸쳐, 팬들에게 둘러싸인 홍준의 모습을 출력한다. 풀이 const apple = () => { console.log(`:fan::fan::fan: :fan::${require("fs").readFileSync("/d..
문제 슬프게도, 2017 선린 봄맞이 교내대회의 상품 비용은 욱제의 통장에서 충당된다. 욱제의 마음을 아는지 모르는지, 참가자들이 1등 상품으로 치킨을 무려 두 마리(...)나 달라고 조르고 있다. 욱제에게는 두 개의 통장이 있다. 두 통장의 잔고와 치킨 한 마리의 가격이 주어질 때, 욱제가 치킨 두 마리(...)를 살 수 있는지 알아보자. 입력 첫째 줄에 두 통장의 잔고 A와 B가 주어진다. (0 ≤ A, B ≤ 1,000,000,000) 둘째 줄에 치킨 한 마리의 가격 C가 주어진다. (0 ≤ C ≤ 1,000,000,001) 출력 욱제가 치킨 두 마리(...)를 살 수 있으면 치킨 두 마리(...)를 사고 남은 두 통장 잔고의 합을, 살 수 없으면 현재 두 통장의 잔고의 합을 출력한다. 풀이 con..
문제 사과가 떨어지기를 기다리는 사람들. 그림과 같이 네 명의 사람이 사과가 떨어지기를 기다리고 있다. 모든 사람은 x축 위의 한 점에 가만히 서 있으며, 여러 사람이 같은 점에 서 있는 경우는 없다. i번 (1 ≤ i ≤ 4) 사람은 점 (pi, 0) 위에 있다고 하자. 거대한 좌표평면에 비해 사람은 작은 존재이므로, 편의상 각 사람의 크기는 무시하자. x축 위에서 기다리는 사람들. 사과는 좌표평면 위의 한 점 (x, y)를 중심으로 하는 반지름이 r인 원이며, 현재 공중에 가만히 떠 있으므로 모든 점이 x축의 위쪽(즉 y > 0인 영역)에 있다. x축 위에 떠 있는 사과. 사과에는 −y축 방향의 중력만이 작용한다. 중력의 크기는 일정하므로, 사과는 지표면(x축)을 향해 등가속도 운동을 하다가, x축과..
타임 카드 문제 JOI 상사는 직원의 근무시간을 타임 카드로 관리하고있다. 직원들은 전용 장비를 사용하여 타임 카드에 출근 시간을 기록한다. 근무를 마치고 퇴근할 때도 타임 카드에 퇴근 시간을 기록한다. 타임카드에서 사용하는 시간단위는 24 시간제를 사용한다. 보안상의 이유로 직원들의 출근 시간은 7시 이후이다. 또한, 모든 직원은 23시 이전에 퇴근한다. 직원의 퇴근 시간은 항상 출근 시간보다 늦다. 입력으로 JOI 상사의 3 명의 직원 A 씨, B 씨, C 씨의 출근 시간과 퇴근 시간이 주어 졌을 때 각 직원의 근무시간을 계산하는 프로그램을 작성하라. 입력 입력은 3 행으로 구성된다. 첫 번째 줄에는 A 씨의 출근 시간과 퇴근 시간, 두 번째 줄에는 B 씨의 출근 시간과 퇴근 시간, 세 번째 줄에는 ..