| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 직업에관하여
- KODEX200
- 파모스짐
- 금
- S&P 500 VIX
- 내가 읽은 경제
- 2024회고
- 경제지표
- 인생
- 공포탐욕지수
- 개발자에관하여
- S&P500
- 내가 읽은 경제 2025-10-27
- 창고관리인
- 원달러환율
- 에세이
- 코스피
- S&P 500
- 오늘 내가 읽은 경제
- 온스당금
- KOSPI
- 달러인덱스
- 단대오거리 헬스장
- ace krx금현물
- 금값
- 원달려환율
- 금광동 헬스장
- 에센피
- 와이투짐
- 남자아이폭력성
Archives
- Today
- Total
기록해야 성장한다
[프로그래머스] 제일 작은 수 제거하기 본문
내가 처음에 짰던 코드.
테스트 케이스는 통과했지만 코드를 채점하려고 보니까 전부다 실패했다.
이때 구글링을 했다.
https://thiago6.tistory.com/127
프로그래머스 - 제일 작은 수 제거하기
내 코드 - 최솟값을,, 리스트를 따로 만들어, Collections.min();를 사용해도 될 것 같았는데, 그냥 구했다. class Solution { public int[] solution(int[] arr) { int[] answer = {}; int min = arr[0]; for (in..
thiago6.tistory.com
위 코드와 비교해본 결과 최하단의 for문의 구조가 array 중간을 건너뛰는 것을 알게되어 수정했다.
public int[] solution(int[] arr) {
int answer[];
if(arr.length - 1 == 0){
answer = new int[]{-1};
return answer;
}else{
answer = new int[arr.length -1 ] ;
}
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if(min > arr[i]){
min = arr[i];
}
}
for (int i = 0; i < arr.length -1; i++) {
if(min == arr[i]){
continue;
}else{
answer[i] = arr[i];
}
}
return answer;
}
for (int i = 0; i < arr.length -1; i++) {
if(min == arr[i]){
continue;
}else{
answer[i] = arr[i];
}
}
이 for 문을 아래와 같이 수정했다.
int idx = 0;
for (int num : arr) {
if (num != min) {
answer[idx] = num;
idx++;
}
}반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] 프린터 (0) | 2019.09.23 |
|---|---|
| [프로그래머스] 핸드폰 번호가리기 (0) | 2019.09.18 |
| [프로그래머스] 평균 구하기 (0) | 2019.09.17 |
| [프로그래머스] 하샤드 수 (0) | 2019.09.17 |
| [프로그래머스] 콜라츠 추측 (0) | 2019.09.17 |
Comments