내가 작업한 코드 (실패)
var arr = [1,3,5,4,8]
function solution(arr) {
var answer = [];
for (let i=0; i<arr.length; i++){
answer.push(arr[i])
answer.sort((a,b)=>b-a)
}
if(answer.length == 1){
answer = -1
} else{
answer.pop()
}
return answer;
}
solution(arr)
ㄴ 이렇게 실행하는 경우에 , 최소의 값이 중복으로 들어가 있는경우에 마지막 배열값만 삭제(answer.pop() )만 삭제되는 함수를 썼음. 진짜 실패 요인은 중복값을 찾을 수가 없어서 실패 sort 함수를 써줘서 배열의 순서가 뒤바뀜
ㄴ그리고, 문제상에서는 중복값의 조건이 없긴 했지만 있었다면!!!!!!!
만약에 최소값이 중복이다! ex ) var arr = [1,1,3,5,76,8]
이런경우 출력은 [1,3,5,76,8] 제일 마지막 값 삭제 후에 출력되기 때문에 오답이였을꺼임
좋은 방법은 아니라서 다른 방법으로 진행
변수명.pop() : 마지막 배열값 삭제하는 함수
출처: https://gent.tistory.com/295
다시 컨닝해서 ㅎ 제출한 답안
var arr = [1,3,5,76,8]
function solution(arr) {
var answer = [];
if(arr.lengt<=1) return [-1]
var min = Math.min(...arr);
var answer = arr.indexOf(min);
arr.splice(answer,1);
return arr;
}
solution(arr)
문제풀이
- 최소값 찾는 함수 및 사용 (
ㄴ사용방법 : Math.min (최소값 찾아야하는 변수명) )
ㄴ 여기서 Math.min(...arr)로 쓴 이유는 arr 변수가 배열로 되어 있기 때문에 꼭 ...arr 사용해줘야해
- 찾는 숫자의 자리가 어디인지를 찾는 함수
ㄴ사용방법 : (자리 찾아야하는 변수명).indexOf(찾아야하는 변수)
ㄴ 여기서 arr 이라는 배열안에서 최소값이 몇번째에 있는지 찾아야하기때문에
arr.indexOf(min) 로 작성!
참고 블로그
'개발공부 > 프로그래머스' 카테고리의 다른 글
프로그래머스 하샤드 수 (ja/ 자바스크립트) 숫자를 문자로 변환시키는 방법 (0) | 2022.01.19 |
---|---|
프로그래머스 콜라츠 추측 (js/자바스크립트) for문으로!!!! (0) | 2022.01.19 |
프로그래머스 정수 제곱근 판별(js/자바스크립트) for문 사용!!!!!! (0) | 2022.01.19 |
프로그래머스 정수 내림차순으로 배치하기(js / 자바스크립트) (0) | 2022.01.19 |
프로그래머스 자연수 뒤집어 배열로 만들기(js / 자바스크립트) (0) | 2022.01.19 |
댓글