티스토리 뷰
자바 풀이
class Solution {
public int[] solution(int[] emergency) {
int[] answer = {};
answer = new int[emergency.length];
for(int i=0; i<emergency.length; i++){
for(int j=0; j<emergency.length; j++){
if(emergency[i]<emergency[j]){
answer[i]+=1;
}
}
answer[i]+=1;
}
return answer;
}
}
입출력 예 1번( [3,76,24] )을 예시로 생각해보자.
emergency 배열인 [3,76,24]를 하나의 배열을 두개로 놓고 비교 해보는 것이 가장 쉽게 생각 할 수 있는 방법이다.
두개로 비교하기 위해 이중 for 문을 사용했다.
i 가 0일때,
i 가 1일때,
i 가 2일때,
for(int i=0; i<emergency.length; i++){
for(int j=0; j<emergency.length; j++){
if(emergency[i]<emergency[j]){
answer[i]+=1; -> 여기서는 [2,0,1]
}
}
answer[i]+=1; -> [3,1,2]
}
이중 for문에서 안쪽 for문을 탈출할때 answer[i]+=1; 을 한번 더 작성해주어야 원하는 결과값을 얻을 수 있다.
'programmers' 카테고리의 다른 글
[프로그래머스] 대소문자 바꿔서 출력하기 (0) | 2023.11.22 |
---|---|
[프로그래머스] 홀수 vs 짝수 (0) | 2023.11.22 |
[프로그래머스] 구슬을 나누는 경우의 수 (0) | 2023.11.21 |
[프로그래머스] 외계행성의 나이 (0) | 2023.11.20 |
[프로그래머스] 점의 위치 구하기 (0) | 2023.11.20 |