프로그래머스 문제
<제일 작은 수 제거하기>
Q) 정수를 저장한 배열, arr에서 가장 작은 수를 제거한 배열을 리턴
1) arr의 길이는 1이상인 배열으로 두번째 예시와 같이 1개만 들어있으면 1개가 지워짐으로 빈 리스트가 되어 -1을 리턴
2) 수의 배열은 동일해야한다.
A) 답변
1) arr의 길이가 1보다 작다면 -1을 반환해주는 if문을 적어준다.
2) min값으로 arr[0]를 넣어서 값들을 하나 하나 비교해서 min을 구하는 for문을 사용했다.
a를 사용하지않고 remove(arr[i])로 진행하였을 때, 오류가 나서 확인해보니 min값이 여러개이면 모든 min을 처리해주어야했다. 질문하기를 찾아보니 원래는 1개만 지워도 답으로 쳐주었다는 것 같은데 최근 질문하기에서는 모두 지워야한다고 되어있다.
3) 모든 min의 값의 개수를 구하기 위해서 filter를 사용했다.
4) min값의 개수만큼 for문으로 remove를 시켜서 제거해주었다.
너무 길고 긴 수식이라서 다른 사람들의 답변을 확인해보았는데, 나의 수식이 너무 부족한 것이 느껴졌다.
- min 함수 : 리스트에서 최소값 찾기
- max 함수 : 리스트에서 최대값 찾기
min 함수를 사용했으면 최소값을 한번에 찾을 수가 있었다. min으로 값을 찾고 그 값을 remove해주고 처리하는 식들이 많았다. 역시 먼저 이러한 기능이 있었으면 좋겠다라는 생각이 든다면 찾아봐야한다는걸 다시 깨달았다.
'공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 약수의 개수와 덧셈 (0) | 2021.06.13 |
---|---|
[프로그래머스] 정수 제곱근 판별 (0) | 2021.06.13 |
[ 프로그래머스] 음양더하기 (0) | 2021.06.07 |
[프로그래머스] 자연수 뒤집어 배열로 만들기 (0) | 2021.06.01 |
[프로그래머스] 시저 암호 (0) | 2021.05.31 |