Notice
Recent Posts
Recent Comments
Link
빵 좋아하는 개발자🥐
[Java 자바] 프로그래머스 level.0 가까운 1 찾기 본문
일단 문제에 오류(?) 가 있는 것 같다. 문제 설명이 입출력 예시 설명이랑 매치가 안 맞기 때문 . .
문제 설명 읽고 코드 짜면 입출력 예시랑 다른 답이 나온다.
문제의 오류는 정정해서 아래 써놓는 걸로🙌 코드 짜는 거 자체는 그렇게 어렵지 않았다. 아직 쪼렙0. .
문제 설명
정수 배열 arr 가 주어집니다. 이 때 arr 의 원소는 1 또는 0 입니다.
정수 idx 가 주어졌을 때, idx 보다 크면서 와 같거나 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 함수 완성하기
단, 만약 그러한 인덱스가 존재하지 않을 경우엔 -1 을 반환
제한사항
- 3 ≤ arr 의 길이 ≤ 100'000
- arr 의 원소는 전부 1 또는 0입니다.
입출력 예
arr | idx | result |
[ 0, 0, 0, 1 ] | 1 | 3 |
[ 1, 0, 0, 1, 0, 0] | 4 | -1 |
[ 1, 1, 1, 1, 0 ] | 3 | 3 |
입출력 예 설명
# 1
idx인 1보다 크면서 원소가 1인 가장 작은 인덱스는 3. result의 값으로 3을 return
# 2
4번 인덱스 이후에 1의 값은 존재하지 않음. 따라서 -1 return
# 3
idx 3번 인덱스의 값이 1이므로 3을 result 값으로 return
class Solution {
public int solution(int[] arr, int idx) {
int answer = -1;
for(int i = idx; i < arr.length; i++){
if(arr[i] == 1){
answer = i;
break;
}
}
return answer;
}
}
idx 의 인덱스부터 끝 인덱스까지 반복문을 돌면서 데이터값이 1인지 검사
처음으로 값이 1인 데이터가 나왔을 때, 해당 인덱스 값을 answer 변수에 저장하고 break로 반복문을 빠져나옴!
그리고 answer 값을 return
반복문을 다 돌았는데도 1이 배열에 없는 경우엔, answer의 초기값인 -1이 return 됨
'문제풀이 > 프로그래머스' 카테고리의 다른 글
[Java 자바 프로그래머스] Lv.1 기사단원의 무기 (0) | 2023.08.15 |
---|---|
[Java 자바] 프로그래머스 level.0 문자열 섞기 (0) | 2023.08.06 |
[Java 자바] 프로그래머스 Level.0 코드 처리하기 (0) | 2023.08.05 |
[Java 자바] 프로그래머스 level.0 문자열 겹쳐쓰기 (0) | 2023.07.12 |
[Java 자바] 프로그래머스 level.0 문자열 출력하기 (0) | 2023.07.07 |