본문 바로가기
Algorithm

[알고리즘] 10부제

by Judy 2022. 1. 8.
문제
서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다.
자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 것이다.
자동차 번호의 일의 자리 숫자가 7이면 7일, 17일, 27일에 운행하지 못한다.
자동차 번호의 일의 자리 숫자가 0이면 10일, 20일, 30일에 운행하지 못한다.
여러분들은 일일 경찰관이 되어 10부제를 위반하는 자동차의 대수를 세는 봉사활동을 하려고 한다.
날짜의 일의 자리 숫자가 주어지고 7대의 자동차 번호의 끝 두자리 수가 주어졌을 때 위반하는 자동차의 대수를 출력하는 프로그램을 작성하세요.

입력설명
첫 번째 줄에는 날짜의 일의 자리 숫자가 주어지고, 
두 번째 줄에는 7대의 자동차 번호의 끝 두 자리 숫자가 주어진다.

출력설명

주어진 날짜와 자동차의 일의 자리 숫자를 보고 10부제를 위반하는 차량 대수를 출력한다.

 

입력예제
day: 3

arr: 25 23 11 47 53 17 33

출력예제

3

 

해결

function solution(day, arr) { // day 현재 날짜
  let answer = 0;

  for(let e of arr) {
    if(e % 10 === day) {
      answer++;
    }
  }

  return answer;
}

let arr = [25, 23, 11, 47, 53, 17, 33]
solution(3, arr);

// 10진수 알아두기
// 예 256이면 몫은 25이며, 나머지 6

 

해결풀이

3

10진수를 알아두면 좋다.

배열의 값과 10을 나눌 때, 뒷 자리가 day와 같다면 23, 53, 33 3개가 된다.

day 5이면, 1가 되며, day 7이면, 2가 된다!!! 핵심

 

'Algorithm' 카테고리의 다른 글

[알고리즘] A를 #으로 변환  (0) 2022.01.10
[알고리즘] 일곱난쟁이 찾기  (0) 2022.01.10
[알고리즘] 홀수  (0) 2022.01.08
[알고리즘] 최솟값 구하기  (0) 2022.01.06
[알고리즘] 1부터 N까지 합 출력하기  (0) 2022.01.06