강의로 돌아가기
기봉조

틀릴만한 케이스가 있나요..? 설명해주세요

public class Solution {
public int solution(int[] priorities, int location) {
int answer = 0;
int max = 0;
int max_index =0;

    for(int i = 0;i<priorities.Length;i++){
        if(priorities[i] > max)
        {
            max = priorities[i];
            max_index = i;
        }
    }
    if(location > max_index){
        answer = location - max_index +1;
    }
    else if (location == max_index)
    {
        answer = 1;
    }
    else 
    {
        answer = priorities.Length - (max_index - location) + 1;
    }
    return answer;
}

}

작성중인 코드―Solution.cs
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
using System;

public class Solution {
    public int solution(int[] priorities, int location) {
        int answer = 0;
        int max = 0;
        int max_index =0;
        int addtion = 0;
        for(int i = 0;i<priorities.Length;i++){
            if(priorities[i] > max)
            {
                max = priorities[i];
                max_index = i;
            }
        }
        if(location > max_index){
            answer = location - max_index +1;
        }
        else if (location == max_index)
        {
            answer = 1;
        }
        else 
        {
            answer = priorities.Length - (max_index - location)+1;
        }
        return answer;
    }
}
  • Myeong Seon Choi
    이 경우는 max를 확인하는 작업을 한번만 하는 것 아닌가요? 근데 문제는 항상 max priority부터 뽑는데, 밀리게 되면 맨 뒤로 들어가는 상황을 생각한거거든요. 즉, 뽑히는 순서는 항상 priority 크기순이 되도록요. Myeong Seon Choi 2019.01.21 22:26
  • Myeong Seon Choi
    [2, 1, 3, 2'] 예시(두 2를 구분하기 위해 뒤의 2를 2'으로 씁시다)가 뽑히는 과정을 그려보자면, 3 뽑히고 [2', 2, 1], 2' 뽑히고 [2, 1], 2 뽑히고 [1], 1 뽑힘. Myeong Seon Choi 2019.01.21 22:28
  • Myeong Seon Choi
    만약 상황이 [1, 2, 3, 2'] 이라면, 3 뽑히고 [2', 1, 2], 2' 뽑히고 [1, 2], 2 뽑히고 [1], 1 뽑힘 Myeong Seon Choi 2019.01.21 22:29
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.