문제

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return 하도록 solution 함수를 완성해주세요.

 

※ 제한사항

1 ≤ n ≤ 100

 


작성 코드

import java.util.Arrays;

class Solution {
    public int[] solution(int n) {
        int size = n % 2 == 0 ? n / 2 : (n / 2) + 1;
        int[] answer = new int[size];
        int idx = 0;
        for(int i=0 ; i <= n ; i++) {
            if(i % 2 == 1) {
                answer[idx] = i;
                idx++;
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        Solution st = new Solution(); // 객체 생성
        int[] result = st.solution(15);

        System.out.println(Arrays.toString(result));
    }
}


배열 값 출력하는 방법

 

그냥 배열 값을 출력하면 알 수 없는 값이 아래와 같이 출력되는 것을 볼 수 있다.

 

위와 같은 값이 출력되는 이유는 result라는 변수가 가리키고 있는,

[ ] 안의 값이 들어 있는 메모리의 주소 값이 출력되기 때문이다.

배열을 출력하기 위해서는 반복문을 사용하거나, 배열을 출력할 수 있는 특별한 메소드를 사용해야 한다.

 

1. 반복문 사용하기

 

 

2. java.util.Arrays의 toString() 메소드 사용하기

 

위 코드에서는 배열의 값을 출력하기 위해

java.util.Arrays.toString() 메소드를 사용하였다.

java.util.Arrays.toString() 메소드는 파라미터로 배열을 입력받아서,

배열에 정의된 값들을 문자열 형태로 만들어서 리턴해준다.

'코딩테스트' 카테고리의 다른 글

백준 9012 괄호  (0) 2023.03.22
숫자 문자열과 영단어  (0) 2023.03.22
미완/백준 24174 힙 정렬  (0) 2023.03.21
미완/백준 1158 요세푸스 순열  (0) 2023.03.21
백준 26008 해시 해킹  (0) 2023.03.20