View

728x90

오늘 할 것

오늘은 알고리즘 문제 중 나누어 떨어지는 숫자 배열에 대해서 말하보려고 한다.

문제

Int형 배열안에 숫자 중에 divisor변수 나누었을 때 떨어지는 숫자를 구하면된다.
아래가 문제이다.



우리 위에 문제를 보고 몇가지를 생각해야된다.!!!
각각의 배열의 int값에 어떻게 접근할 것 인가?
일단 나누어 떨어지는 값을 어떻게 구해서 걸려줄것인가?
마지막으로 어떻게 정렬을 할 것인가?

일단 배열의 int값에 접근하는 가장 기초적인 방법은 우리가 잘아는 for문 등의 반복문을 돌려서 각각의 int값에 접근하는 것이다.
하지만 나는 조금 다른 함수를 사용할 것이다. 바로 filter 라는 함수를 이용할 것이다.

해당 함수를 이용하면 위에 생각해봐야 될 것 중 2가지가 해결된다. 바로 접근 방법과 어떻게 걸려줄 것인가이다.
filter함수는 각각의 배열값에 접근 하여 조건에 만족하는 값만 남길 수 있다.

자 그러면 이제 2가지가 남는다. 어떻게 나누어 떨어지는 값을 구할 것인가? 와 정렬을 어떻게 할 것인가? 이다.
일단 나주어 떨어지는 값은 %를 이용하여 0인 값을 구하면 해결 된다.
그리고 마지막으로 정렬의 경우는 sorted()함수를 사용하면 금방끝난다. 대신 sorted()함수의 경우 List로 반환 하기 때문에 다시 배열로 만들어 줄 필요가 있다. 그래서 .toIntArray()가 필요할 것으로 보인가?

자 이렇게 위에 생각한 것을 코드로 짜보면 아래 답과 같아진다.



의외로 함수를 사용하면 간단해지는 문제이다.
다만 모르면 열심히 for문을 돌려서 안쪽에 if(조건문)을 사용해서 구하면 된다.^^

'TIL' 카테고리의 다른 글

컴포즈 시작하기  (0) 2024.09.25
오늘 부터 다시 시작!!  (0) 2024.09.24
두 정수 사이의 합(알고리즘)  (0) 2024.03.12
개발자 하루  (2) 2024.03.11
알고리즘(정수 내림차순으로 배치하기)  (0) 2024.03.08
Share Link
reply
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30