10430번 나머지
https://www.acmicpc.net/problem/10430
문제
- (A+B)%C는 ((A%C) + (B%C))%C 와 같을까? (A×B)%C는 ((A%C) × (B%C))%C 와 같을까? 세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.
- 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
- 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.
풀이
const fs = require('fs');
const inputData = fs.readFileSync(0,'utf8').toString().split(" ");
const A = parseInt(inputData[0]);
const B = parseInt(inputData[1]);
const C = parseInt(inputData[2]);
const result1 = (A+B)%C ;
const result2 = ((A%C) + (B%C))%C;
const result3 = (A*B)%C ;
const result4 = ((A%C)*(B%C))%C ;
console.log(`${result1}\n${result2}\n${result3}\n${result4}`);
벡터를 이용하여 ${변수}\n
꼴로 만들어 줄마다 값을 출력시켰다.
참고
- 다른 코드와 비교
- 입력값을 array로 받아 활용
const [A,B,C] = inputData ;
- 문자열을 숫자열로 형변환 하는 방법
1.parseInt()
문자열을 '정수'로 변환
'숫자+문자'꼴은 숫자만 출력 '문자+숫자'꼴은 NaN - 2.Number()
문자열을 '숫자'로 변환 (소수점까지 숫자타입으로 가져 올 수 있음.)
숫자꼴만 리턴하고 문자가 들어가면 NAN
const test = Number("123가나다");
const test2 = Number("가나다123");
console.log(test); // Nan
console.log(test2); // NaN
const test = parseInt("123가나다");
const test2 = parseInt("가나다123");
console.log(test); // 123
console.log(test2); // NaN
parseInt가 문자와 숫자가 섞였을때 안전하게 숫자만 바꿔준다는 장점 때문에 Number보다 사용을 권고함.
'algorithm > 백준' 카테고리의 다른 글
[JS] 10950 A+B-3 (0) | 2022.08.20 |
---|---|
[JS] 2739 구구단 / 증감연산자 i++과 ++i 의 차이?! (0) | 2022.08.12 |
[JS] 18108번 1998년생인 내가 태국에서는 2541년생? (0) | 2022.08.12 |
[JS] 10926번 ??! (0) | 2022.08.12 |
[JS] 10869 사칙연산 (0) | 2022.08.12 |
댓글