일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 생명주기 콜백
- Project
- JPA
- javascript
- server send event
- Anolog
- jenkins
- DI
- Stream
- WIL
- Spring Security
- html
- session
- Hibernate
- hanghae99
- flask
- programmers
- python
- JWT
- SseEmitter
- web
- bean
- cookie
- real time web
- google oauth
- 항해99
- oauth
- jQuery
- Java
- spring
Archives
- Today
- Total
끄적끄적 코딩일지
[Programmers]제일 작은수 제거하기(난이도:★★★) 본문
https://programmers.co.kr/learn/courses/30/lessons/12935
코딩테스트 연습 - 제일 작은 수 제거하기
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1
programmers.co.kr
class Solution {
public int[] solution(int[] arry) {
int[] answer = {};
if(arry.length == 1)
return new int[]{-1};
else{
answer = new int[arry.length-1];
answer[0] = -1;
int idx = 0;
int tmp = Integer.MAX_VALUE;
// 제일 작은수 제일 작은수의 idx
for(int i = 0 ; i < arry.length ;i++){
if(tmp > arry[i]){
idx = i;
tmp = arry[i];
}
}
// 입력한 배열을 복사할때 제일 작은수의 idx는 제외한다.
int idxs = 0;
for(int i = 0 ; i < arry.length; i++){
if(i == idx)
continue;
answer[idxs] = arry[i];
idxs++;
}
}
return answer;
}
}
'알고리즘' 카테고리의 다른 글
[Programmers]하샤드 수(난이도:★★★) (0) | 2022.05.16 |
---|---|
[Programmers]콜라츠 추측(난이도:★★★) (0) | 2022.05.16 |
[Programmers]정수 제곱근 판별(난이도:★★★) (0) | 2022.05.16 |
[Programmers]정수 내림차순으로 배치하기(난이도:★★★) (0) | 2022.05.16 |
[Programmers]자연수 뒤집기(난이도:★★★) (0) | 2022.05.16 |