Lv. 0 - 나머지 구하기 풀이 과정
문제 설명
정수 num1
과 num2
가 매개변수로 주어집니다.
num1
를 num2
로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 0 ≤ num1 ≤ 100
- 0 ≤ num2 ≤ 100
입출력 예
num1 | num2 | result |
---|---|---|
3 | 2 | 1 |
10 | 5 | 0 |
입출력 예 설명
3-1) 입출력 예 설명 #1
num1
이 3, num2
가 2이므로 3을 2로 나눈 나머지 1을 return 합니다.
3-2) 입출력 예 설명 #2
num1
이 10, num2
가 5이므로 10을 5로 나눈 나머지 0을 return 합니다.
프로그래머스에서 제공한 코드
처음 프로그래머스에서 작성된 코드는 아래와 같다.
function solution(num1, num2) {
let answer = -1;
return answer;
}
문제 풀이
const solution = (num1, num2) => num1 % num2
console.log(solution(3, 2)); // 1 입출력 예 설명 #1
console.log(solution(10,5)); // 0 입출력 예 설명 #2
함수 선언
- 함수 이름은
solution
이며, 기존 함수에서 화살표 함수로 변경 후 매개변수num1
과num2
를 받는다.
풀이
- 이 함수는 두 숫자를 입력받은 후 첫 번째 숫자를 두 번째 숫자로 나눈
나머지 연산자
를 사용함 - num1 % num2가 은 num1 을 num2로 나눈 나머지를 구하는 연산이다.
결과 반환
-
solution(3, 2)
는 3을 2로 나눈 나머지인 1을 반환 -
solution(10,5)
는 10을 5로 나눈 나머지인 0을 반환
실행
-
solution(3, 2);
// 1 -
solution(10, 5);
// 0
다른 사람의 풀이 참고
이전 글에서 화살표 함수를 사용해서 푸는 방법이 많아서, 이번 나머지 구하기에서 화살표 함수를 사용하여 풀어보았다.
다른 사람의 풀이에서는 화살표 함수와 변수 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