728x90
난이도 : Lv. 1
풀이일 : 2412161
https://school.programmers.co.kr/learn/courses/30/lessons/12935
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제
풀이 코드
class Solution {
public int[] solution(int[] arr) {
if (arr.length < 2) { // arr 길이 1일 때
return new int[] {-1};
}
int idx = 0; // 가장 작은 수 인덱스
int[] answer = new int[arr.length - 1];
// 가장 작은 수 탐색
for (int i = 1; i < arr.length; i++) {
if (arr[i] < arr[idx]) {
idx = i;
}
}
// 가장 작은 수 제외 나머지 answer 추가
for (int i = 0; i < arr.length; i++) {
if (i != idx) {
answer[i < idx ? i : i - 1] = arr[i];
}
}
return answer;
}
}
- arr 길이가 1이라면 [-1]을 반환
- idx : 배열의 가장 작은 수 인덱스를 저장할 변수
- answer : 가장 작은 수를 제외한 숫자들을 저장할 배열
- 가장 작은 수 탐색 : 배열을 순회하며 가장 작은 수의 인덱스를 찾아 저장
- 가장 작은 수 제외 나머지 answer 추가 : idx를 제외한 나머지 인덱스의 값들을 answer에 추가
제출 결과
느낀점
- 파이썬으로는 금방 풀었는데 자바로는 조금 걸렸다.
- 자바는 선언할 때나 삼항 연산자 사용할 때 런타임 에러가 자주 나서 잘 안 느는 기분이 든다.
'알고리즘 > Lv. 1' 카테고리의 다른 글
프로그래머스 17682 다트 게임 자바 풀이 (0) | 2024.12.17 |
---|---|
프로그래머스 17682 다트 게임 파이썬 풀이 (0) | 2024.12.17 |
프로그래머스 12935 제일 작은 수 제거하기 파이썬 풀이 (0) | 2024.12.16 |
프로그래머스 92334 신고 결과 받기 자바 풀이 (0) | 2024.11.01 |
프로그래머스 92334 신고 결과 받기 파이썬 풀이 (0) | 2024.11.01 |