개발자 '쑥말고인절미'
[프로그래머스] JS 제일 작은 수 제거하기 본문
문제

내 답안
function solution(arr) {
let answer = [];
if(arr.length == 1){
arr.push(-1);
arr.shift();
return arr;
}
for(let i = 0; i<arr.length; i++){
answer.push(arr[i]);
}
for(let i = 0; i < arr.length; i++) {
for(let j = 0; j < arr.length-1-i; j++) {
if(arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(let i = 0; i < answer.length; i++) {
if(answer[i] === arr[0]) {
answer.splice(i, 1);
i--;
break;
}
}
return answer;
}
메모
분명 코드 실행했을 때는 통과하는데 제출만 하면 모든 테스트에서 실패가 나왔다. 아주 황당해서 질문하기를 보니 입력값으로 들어온 배열을 망가트려서 그런것 같다는 의견이 있었다. 그래서 그 의견을 반영해서 다시 코드를 수정했고 테스트를 통과할 수 있었다. 나는 엄청 장황하게 코딩했는데 친구 소스는 정말 짧고 깔끔해서 보기 좋았다... api를 생각하지 못하는것이 문제인지 뭐가 문제여서 내 소스가 긴건지 파악이 잘 안된다... 슬프다 코딩이 내 적성에 안맞는건지 정말 진지하게 고민된다. 물론 이번 문제를 풀면서 갑자기 느낀건 아니고 취업하고 조금씩 느껴오긴했다. 아래는 친구가 작성한 소스이다.
function solution(arr) {
var min = Math.min.apply(Math, arr);
var i = arr.indexOf(min);
if(arr.includes(10) && i == 0){
return [-1];
}else if(i > -1){
arr.splice(i,1);
return arr;
}
}
참고링크
'STUDY > 코딩테스트' 카테고리의 다른 글
| [프로그래머스] JS 정수 내림차순으로 배치하기 (0) | 2022.08.23 |
|---|---|
| [프로그래머스] JS 정수 제곱근 판별 (0) | 2022.08.19 |
| [프로그래머스] JS 짝수와 홀수 (0) | 2022.08.19 |
| [프로그래머스] JS 최대공약수와 최소공배수 (0) | 2022.08.17 |
| [프로그래머스] JS 콜라츠 추측 (0) | 2022.08.16 |