본과정 1주차 과제 - 숫자야구 만들기
1. 과제 조건
2. 구상
1) node에서 실행을 위한 리드라인 생성
2) 랜덤함수 제작
3) 입력값에 대한 S,B 판정
4) 시도횟수 카운트
5) 입력값이 난수값과 같을 시 종료
6) 콘솔로그 배분
3. 구현
1) 리드라인
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (line) => {
let input = [];
input.push(line.split("").map((a) => parseInt(a)));
console.log(`${count}번째 시도 :`, line);
if (line === array.join("")) {
rl.close();
}
});
rl.on("close", () => {
process.exit();
});
2) 랜덤함수
- Math.random에 정수를 곱하여 범위지정 후 Math.floor로 소수점 제거
- indexOf 메소드를 활용하여 숫자 중복방지
3) 실행 관련
- 조건문과 배열 인덱스를 활용
- 리드라인 입력시마다 count횟수 증가
- 입력값과 랜덤난수값이 같을 시 종료
4. 리뷰
1) 리드라인 문법을 알게되었다
2) 중복값 입력 방지시에 indexOf대신 Set을 써도 유용하다
'항해14기 본과정 > 항해14기 개발일지' 카테고리의 다른 글
[항해 14기] 개발일지6 (메소드 리마인드) (0) | 2023.04.23 |
---|---|
[항해 14기] 개발일지5 (JS심화) (0) | 2023.04.23 |
[항해 14기] 개발일지3 (JS기본) (1) | 2023.04.23 |
[항해 14기] 개발일지2 (JS기본) (0) | 2023.04.23 |
[항해 14기] 개발일지1 (JS 기본) (1) | 2023.04.23 |