티스토리 뷰
반응형
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
예제입력
39
40
41
42
43
44
82
83
84
85
예제 출력
6
문제풀이
//입력값 받기, 같은 폴더내에 input.txt 생성
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().split('\n');
solution(input);
function solution(input) {
const divNumber = 42;
let array = [];
let j = 0;
let check = false;
let result;
for (let i = 0; i < 10; i++) {
result = input[i] % divNumber;
check = false;
for (j = 0; j < array.length; j++) {
if (result === array[j]) check = true;
}
if (check === false) array[j] = result;
}
console.log(array.length);
}
설명
input값을 42로 나눈 후, 나머지의 갯수를 카운팅하는 간단한 문제이다.
빈 배열을 생성한 후, 입력값을 42로 나눈 나머지를 저장한다.
중복되는 나머지 값은 저장할 필요가 없어서, 반복문을 하나 더 추가하여 유효성 검사를 한 후, 이미 저장된값이 아닐 경우에만 배열을 한칸 추가하여 값을 저장해준다.
하지만 nodeJs로 문제를 풀때, 반복문을 input.length로 하면 boj 상에서 틀렸다고 나온다.
이유를 찾아보니, input.length로 할 경우에는 에러가 나고 입력의 크기를 문제에서 제시한 상수 10으로 고정시켜놓고 풀면 해결이 된다.
출처
https://www.acmicpc.net/problem/3052
반응형
'Algorithm' 카테고리의 다른 글
[JavaScript ] Programmers_레벨2_오픈 채팅방 문제 (0) | 2022.05.13 |
---|---|
[JavaScript ] BeakJoon 4673 셀프 넘버 (0) | 2021.08.24 |
[JavaScript ] BeakJoon 2577 숫자의 개수 (0) | 2021.08.14 |
[JavaScript ] BeakJoon 1110 더하기 사이클 (0) | 2021.08.14 |
[JavaScript ] BeakJoon 15552 빠른 A+B (0) | 2021.08.06 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Mac docker.for.mac.host.internal
- PDF #pdfkit
- node.js #node.js pdf만들기 #node.js pdfkit
- reack-cookies #아이디 저장하기 #react 아이디 저장 #react cookie #리엑트 아이디 저장하기
- excel 파일 만들기 #node.js #express excel 파일 만들기 #데이터 입력해서 excel 파일 만들기
- JavaScript #Programmers #lvl2 #프로그래머스 오픈채팅방 # 오픈채팅방 문제
- BOJ #JS
- node.js 파일 저장
- PoolCluster : Error: connect ECONNREFUSED 127.0.0.1:3306)
- 이미지 전송 # 이미지 업로드 #이미지 여러장 #이미지 여러장 업로드 #react 이미지 업로드 #react 이미지 여러장 업로드
- FormData #FormData 파일전송 #FormData append json # React FormData File #React FormData append Json
- react #img 전송
- Swal #sweetalert2 #alert #알림창 띄우기 #react swal
- mysql date type
- AWS #인바운드 #SSH #인스턴스 연결
- react #react-spinners #modal loading #overlay #로딩창 #react 로딩창 만들기
- mysql date
- ERROR: failed to solve: no support for running processes with linux/amd64/v3 platform
- ec2 instance connect is unable to connect to your instance. ensure your instance network settings are configured correctly for ec2 instance connect. for more information
- linux/amd64/v2
- Procedure #mysql #mysql Procedure #mysql 반복문 #Procedure 반복문 #mysql insert 반복문
- mysql date between performance
- docker # docker build # m1 docker build
- mysql date between # mysql date between 대소 비교 연산자
- React filter #js Includes #React Filter includes
- Express multer #Express File 저장 #node.js
- supported: linux/amd64
- Pytorch #Yolov5 #Segementation
- docker mysql
- see ec2 instance connect prerequisites at https://docs.aws.amazon.com/awsec2/latest/userguide #인스턴스 연결 안됨
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함