일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- flex-direction
- 첫번째 미니 프로잭트
- justfiy-content
- align-iitems
- 참조자료형
- Promise Chaining
- 문자열을 객체로 만드는법
- probs
- 상속 (inheritance)
- align-content
- 캡슐화 (encapsulation)
- string
- 재귀적으로 생각하기
- probs.children
- 얕은복사와 깊은 복사
- display
- 객체지향 프로그래밍 특징
- 추상화 (abstraction)
- 재귀함수 탬플릿
- async/await
- Promise all
- Instanc
- 화살표함수 기본 개념
- 클래스 문법 구조
- css 정리
- Math.floor()
- class
- 조건문
- 다형성 (polymorphism)
- props비구조화 할당
Archives
- Today
- Total
희락코딩
프로그래머스 1단계 - 나누어 떨어지는 숫자 배열 본문
728x90
반응형
#문제
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
#제한 사항
arr은 자연수를 담은 배열입니다.
정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
divisor는 자연수입니다.
array는 길이 1 이상인 배열입니다.
#입출력예시
arr | divisor | return |
[5, 9, 7, 10] | 5 | [5, 10] |
[2, 36, 1, 3] | 1 | [1, 2, 3, 36] |
[3,2,6] | 10 | [-1] |
입출력 예 설명
입출력 예#1
arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라서 [5, 10]을 리턴합니다.
입출력 예#2
arr의 모든 원소는 1으로 나누어 떨어집니다. 원소를 오름차순으로 정렬해 [1, 2, 3, 36]을 리턴합니다.
입출력 예#3
3, 2, 6은 10으로 나누어 떨어지지 않습니다. 나누어 떨어지는 원소가 없으므로 [-1]을 리턴합니다.
# 문제 풀이 및 코드작성
이문제의 핵심은 sort입니다. 결과 값을 보면 모두 오름차순으로 정렬해서 출력되기 때문입니다. 그래서 기존에 있는 배열을 sort를 활용해서 오름차순으로 만들어주고 오름차순을 만들어준 배열을 바탕으로 반복문을 돌리면 쉽게 해결 하수 있는 문제입니다. 추가적으로 나누어 떨이지는 원소가 없을 경우의 조건은 삼항 연산자를 통해서 해결할수 있습니다.
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
|
//풀이 1
function solution(arr, divisor) {
let newArr = []
let sort = arr.sort((a,b)=>a-b)
for(let el of sort){
if(el % divisor === 0){
newArr.push(el)
}
}
return newArr.length > 0? newArr : [-1]
}
//풀이 2
function solution(arr, divisor) {
let newArr = []
arr.map((el)=> el%divisor===0 && newArr.push(el))
let sortArr = newArr.sort((a,b)=>a-b)
return newArr.length > 0? sortArr : [-1]
}
|
cs |
728x90
반응형
'프로그래밍 > 코드 문제 풀이' 카테고리의 다른 글
프로그래머스 1단계 - 정수 제곱근 판별 (2) | 2021.07.06 |
---|---|
프로그래머스 1단계 - 문자열 내림차순으로 배치하기 (0) | 2021.07.05 |
프로그래머스 1단계 - 자연수 뒤집어 배열로 만들기 (0) | 2021.07.03 |
프로그래머스 1단계 - 문자열 다루기 기본 (0) | 2021.07.01 |
프로그래머스 1단계 - 정수 내림차순으로 배치하기 (0) | 2021.07.01 |
Comments