문제 https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오. 풀이 정수 배열에 filter 메소드를 이용하여 같은 정수인 지 판별한다. 코드 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.re..
문제 문제 출처 - https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. 입력과 출력 스트림은 별개이므로, 테스트케이스를 전부 입력받아서 저장한 뒤 전부 출력할 필요는 없다. 테스트케이스를 하나 받은 뒤 하나 출력해도 된다. 풀이 console.log를 for문 안에 넣어 루프 한 번에 출력 한 번을 실행하면 시간 초과..

문제 문제 출처 - https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 풀이 fs 모듈로 풀면 런타임에러가 났다. 구글링을 통해 readline으로 풀어야 한다는 것을 알았다. (문제 푸는 로직은 동일) 코드 const readline = require("readline"); const rl = readline.createInterface({ input : process.stdin, output: process.stdout }); let input = []; rl.on("line", function (line) { input.push(parseInt(line)..
문제 문제 출처 - https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 풀이 주어진 수에서 중복되지 않은 좌표값이 우리가 출력해야 하는 나머지 좌표값이다. 좌표값들을 각각 배열에 넣고 sort 메소드로 오름차순 정렬한다. 중복되지 않은 점이 어떤 것인 지는 삼항연산자로 찾는다. 코드 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/d..

문제 문제 출처 - https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. ** N 이 1인 경우에는 아무것도 출력하지 않는다. 풀이 소수인 지 판별하는 isPrime 변수를 만들고, 함수처럼 이용한다. (소수를 활용하는 알고리즘 문제에서 유용하게 사용할 예정, 이해 후 암기) 두 가지 케이스로 나누어 생각했다. Case I. N 이 이미 소수인 경우 => 소수 출력 Case II. N이 소수가 아닌 경우 => i = 2 부터 시작하는 while문을 이용. N % i 가 0 인 경우, arr에 넣는다. N 이..
문제 문제 출처 - https://www.acmicpc.net/problem/9506 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. 풀이 while문으로 i = 1부터 n 까지 loop 를 돌린다. n % i 가 0이면, i 가 n 의 약수가 된다. 이렇게 구한 약수를 배열에 넣고, 이 약수들의 합을 계..
문제 출처 - https://www.acmicpc.net/problem/10172
문제 문제 출처 - http://www.acmicpc.net/problem/10869 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 풀이 나눗셈을 할 때 그냥 A / B 를 하면 2.3333333333333335 로 나온다. 소수점을 버리기 위해 Math.floor() 나 parseInt() 를 사용할 수 있다. ** Math.floor() 와 parseInt() 의 차이점 ** // 소수점 내림 console.log(Math.floor(12.34)); // 12 console.log(Math.floor(12.99)); // 12 console.log(Math.floor(-12.34)); // -13 console.log..