whatisthis?
백준 10430 javascript (node.js) 풀이 본문
입출력과 사칙연산 - (10)
💡문제
(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?
(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?
세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.
📁입력
두 자연수 A와 B, C가 주어진다. (1 ≤ A, B , C≤ 10,000)
📈출력
첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.
< 코드 >
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split(' ');
const a = Number(input[0]);
const b = Number(input[1]);
const c = Number(input[2]);
console.log((a + b) % c);
console.log(((a % c) + (b % c)) % c);
console.log((a * b) % c);
console.log(((a % c) * (b % c)) % c);
+) 참고
const A = parseInt(input[0]);
const B = parseInt(input[1]);
const C = parseInt(input[2]);
부분은
const [A,B,C] = input;
과 같이 선언할 수도 있다.
++) parseInt와 Number의 차이
A,B,C가 '정수' 또는 '자연수'라는 말이 없었으므로
parseInt를 쓰면 안된다.
Number() 함수를 이용하면 type을 number로 바꿀 수 있다.+) 마찬가지로, String()또한 마찬가지임!
💡 주의!
Number()과 String() 모두 자바스크립트에 기본으로 내장된 함수(function)임.
맨 앞글자를 대문자(upperCase)로 써주기!
< 느낀 점>
input 에서 split('')로 써놓고 한참동안 왜 틀렸지.? 이러고 있었다.
역시 프로그래머의 최대의 적은 오타 (...)
왜 괜히 string도 변수로 저장하는지 뼈져리게 느꼈다.
또한,,, 문제를 잘 읽어야 한다는 것도..
당연히 정수라고 생각하고 parseInt부터 써버리지말자.
- BOJ에서는 parseInt도 정답처리 해주긴 한다. 암튼 이건 예외적으로 따로 생각하자.
실수가 입력되면 안되니까.
+) String()과 tostring의 차이
- 숫자->문자열 변환시 차이는 없다.
- tostring은 default가 10진수일 뿐이지, 2~32진수 변환도 할 수 있다는 점이 차이이다.
Number.prototype.toString()
'ALGORITHM > BOJ (Node.js)' 카테고리의 다른 글
백준 1330 javascript (node.js) 풀이 (0) | 2021.12.06 |
---|---|
❌백준 2588 javascript (node.js) 풀이 (0) | 2021.12.06 |
백준 10869 javascript (node.js) 풀이 (0) | 2021.12.06 |
백준 1008 javascript (node.js) 풀이 (0) | 2021.12.06 |
백준 10998 javascript (node.js) 풀이 (0) | 2021.12.06 |