[Java_Programmers] Lv1.제일 작은 수 제거하기

🐷Jinie (juniorDeveloper)·2020년 12월 2일
0

Algorithm

목록 보기
27/27

  • 배열에서 가장 작은 수를 제거하고 리턴한다.
  • 배열의 길이가 1이면 리턴할 수가 없다. 따라서 -1을 리턴한다.
  • 배열은 길이가 1이상이다.

  • 1번 key :
    Math.min(,) 메서드를 이용했다.
    메서드없이 두수를 비교해서 min에 넣어 차례차례 비교해도 된다.
    다만, 이 메서드를 사용하면 한줄로 코드를 끝낼 수 있어서 사용했다.
    Math.min(,)은 괄호안의 두수를 비교해 작은수를 리턴한다.
    Math.max(,)로 큰수를 리턴할 수도 있다.
  • 2번 key :
    if문을 사용해서 위쪽 코드에서 찾아낸 min값과 arr[i]값을 비교해 같다면 answer에 값이 들어가지 않도록 continue;를 이용해 건너뛰기 해준다!
    만약 min값이 아니라면 answer[]에 차곡차곡 값을 넣어주는데,
    이때 처음에 내가 오류냈던 부분이 있다!
    처음에 answer[i] = arr[i]로 값을 넣으려했는데 '런타임에러'가 발생했다.
    그 이유를 생각해보니 숫자가 작은수가 가장 뒤에있으면 괜찮지만
    중간에 있는경우 arr[i]는 continue를 통해서 건너뛰어지는데 answer[i]칸은 값을 기다리게된다.
    따라서 실행오류가 발생한것이다.
    이부분을 방지하기위해 answer의 idx는 [cnt++]로 따로 하나씩 차례로 증가하도록 설정했다.

profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글