728x90

[문제 설명]

정수 start와 end가 주어질 때, start부터 end까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

 

[입출력 예]

start end result
3 10 [3, 4, 5, 6, 7, 8, 9, 10]

 

[차근 차근 생각해보기]

  1. answer 배열의 길이를 end에서 start를 빼고 + 1을 하여 초기화해준다. 
  2. answer의 길이만큼 돌면서
  3. answer의 i번째에 start를 1씩 증가하며 넣어준다.
  4. answer를 return 해준다.    

 

[코드]

class Solution {
    public int[] solution(int start, int end) {
        int[] answer = new int[(end - start) + 1];
        
        for(int i = 0; i < answer.length; i++){
            answer[i] = start++;
        }
        
        return answer;
    }
}

 

[반성할 점]

이 문제를 푸는데 3일이 걸렸다. 처음엔 start부터 end까지 반복하는 반목문을 쓰기도 하였다.

다시 코드 순서를 천천히 생각해보니 answer의 길이는 end에서 start를 빼고 + 1을 해준 길이로 선언해주고,

answer의 배열에 담아야하기 때문에 answer의 길이 만큼돌면서 start를 더해주면 되는 것이었다.

이때 ++start는 먼저 더해주고 start가 나오기 때문에 start를 먼저 넣어주고 후에 ++를 해주어야된다고 판단했다.

 

다시 한번 코드의 순서를 잘 생각해보기..아직 너무 많이 부족하다..😭           

728x90

+ Recent posts