:ledger: 문제 설명

정수 num1num2가 매개변수로 주어집니다.
num1num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.

:one: 제한사항

  • 0 ≤ num1 ≤ 100
  • 0 ≤ num2 ≤ 100

:two: 입출력 예

num1 num2 result
3 2 1
10 5 0

:three: 입출력 예 설명

:pushpin: 3-1) 입출력 예 설명 #1

num1이 3, num2가 2이므로 3을 2로 나눈 나머지 1을 return 합니다.

:pushpin: 3-2) 입출력 예 설명 #2

num1이 10, num2가 5이므로 10을 5로 나눈 나머지 0을 return 합니다.

:four: 프로그래머스에서 제공한 코드

처음 프로그래머스에서 작성된 코드는 아래와 같다.

function solution(num1, num2) {
    let answer = -1;
    return answer;
}

:ledger: 문제 풀이

const solution = (num1, num2) => num1 % num2

console.log(solution(3, 2)); // 1 입출력 예 설명 #1
console.log(solution(10,5)); // 0 입출력 예 설명 #2

:one: 함수 선언

  • 함수 이름은 solution이며, 기존 함수에서 화살표 함수로 변경 후 매개변수 num1num2를 받는다.

:two: 풀이

  • 이 함수는 두 숫자를 입력받은 후 첫 번째 숫자를 두 번째 숫자로 나눈 나머지 연산자를 사용함
  • num1 % num2가 은 num1 을 num2로 나눈 나머지를 구하는 연산이다.

:three: 결과 반환

  • solution(3, 2)는 3을 2로 나눈 나머지인 1을 반환
  • solution(10,5)는 10을 5로 나눈 나머지인 0을 반환

:four: 실행

  • solution(3, 2); // 1
  • solution(10, 5); // 0

:fire: 다른 사람의 풀이 참고

이전 글에서 화살표 함수를 사용해서 푸는 방법이 많아서, 이번 나머지 구하기에서 화살표 함수를 사용하여 풀어보았다. 다른 사람의 풀이에서는 화살표 함수와 변수 answer 을 생략 후 return 하는 방식이 있었고, 나머지 연산자를 사용하지 않고 구하는 방법이 가장 신선했다.

// 변수 생략 적용
function solution(num1, num2) {
    return num1%num2;
}


// 나머지 연산자 없이 적용
function solution(num1, num2) {
    return num1 - Math.floor(num1/num2)*num2;
}
  • 문제 링크: 문제 링크
  • Git: rarrit github

    출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges