※ 문제
서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일, 27일에 운행하지 못한다. 또한, 자동차 번호의 일의 자리 숫자가 0이면 10일, 20일, 30일에 운행하지 못한다. 여러분들은 일일 경찰관이 되어 10부제를 위반하는 자동차의 대수를 세는 봉사활동을 하려고 한다. 날짜의 일의 자리 숫자가 주어지고 7대의 자동차 번호의 끝 두 자리 수가 주어졌을 때 위반하는 자동차의 대수를 출력하는 프로그램을 작성하세요.
▣ 입력설명
첫 줄에는 날짜의 일의 자리 숫자가 주어지고 두 번째 줄에는 7대의 자동차 번호의 끝 두 자리 숫자가 주어진다.
▣ 출력설명
주어진 날짜와 자동차의 일의 자리 숫자를 보고 10부제를 위반하는 차량의 대수를 출력합니다.
▣ 입력예제 1
3 25 23 11 47 53 17 33
▣ 출력예제 1
3
▣ 입력예제 2
0 12 20 54 30 87 91 30
▣ 출력예제 2
3
※ 코드
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(day, arr) {
let answer = 0;
for (let x of arr) {
if (x % 10 === day) {
answer += 1;
}
}
return answer;
}
arr = [25, 23, 11, 47, 53, 17, 33];
console.log(solution(3, arr));
</script>
</body>
</html>
※ 설명
배열의 각 item을 확인하기 위해 let x of arr로 for문을 돌린다.
이후 차 번호를 10으로 나눈 나머지를 구하여 일의자리 수를 구하고 그 값이 day와 같으면 answer에 1을 더하도록 작성한다.
※ 핵심
모든 수를 10으로 나눈 나머지는 항상 일의자리 수이다.
해당 내용은 김태원님의 자바스크립트 알고리즘 문제풀이 강의를 듣고 작성한 글입니다.
'🤯 코딩테스트 > Javscript' 카테고리의 다른 글
[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - A를 #으로 (0) | 2022.01.08 |
---|---|
[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - 일곱 난쟁이 (0) | 2022.01.08 |
[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - 홀수 (0) | 2022.01.08 |
[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - 배열의 최솟값 구하기 (0) | 2022.01.08 |
[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - 1부터 N까지의 합 출력하기 (0) | 2022.01.08 |