문제
정수 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 |