(출처-https://seagull-dev.tistory.com/9)
작성 규칙 1 : 구체적 방법보다는 무슨 일을 할 것인가?만을 기술한다.
작성 규칙 2 : 입력, 치환, 산술, 관계, 논리, 출력의 기본기능 단위로 한번에 한가지만 기술한다.
작성 규칙 3 : 목적어 + 동사 형식으로 기술한다.
작성 규칙 4 : 처리단계 레벨은 되도록 3단계까지만 표현한다.(들여쓰기 3단계)
public class Solution {
public int[] getEvenNumbers(int[] arr) {
int[] concatArray = new int[]{}; // 비어있는 배열 concatArray를 만들겠다. int[] concatArray = {};
if(arr.length == 0) { // 만약 입력되는 arr의 배열의 길이가 0이라면
return new int[]{}; // 빈 배열을 반환한다.
}
for(int i = 0; i < arr.length; i++) { 반복문 for 초깃값:= 0; 조건식:i가 입력값 배열 arr의 길이보다 작을동안 작을동안 반복한다., 증감식:i의 크기는 1씩 늘어난다.
if(arr[i] % 2 == 0) { // 만약 arr의 인덱스 i를 2 나눈것의 나머지 0이라면 즉, arr[i]가 짝수라면
concatArray = Arrays.copyOf(concatArray, concatArray.length + 1); //concatarray = (위에서 선언했던 기존) int [] concatArray = new int[1];
concatArray[concatArray.length - 1] = arr[i]; // concatArray[1-1] = arr[i]; --> arr[0] = concatArray[0];
}
}
return concatArray; // 짝수가 아닐 경우 처음 선언했던 비어있는 배열반환.
}
int [] arr = {1,2,3,4};
for(int i = 0; i<4; i++){
arr[0]의 나머지0이 아니다 ->return concatArray;(처음 선언했던 배열) -->즉,{} 빈 배열 반환
for(int i = 0; i<4; i++){
arr[1] % 2 == 0 이다. concatArray = new int[1];
concatArray[0] = arr[1];
for(int i = 0 ; i < 4; i++){
arr[2] % 2 == 0 아니다. 빈 배열 반환
for(int i = 0 ; i < 4; i++){
arr[3] % 3 == 0 이다. concatArray = new int [2]
concatArray[1] = arr[3];
결국
return concatArray;
로 [ concatArray[0] = arr[1]; , concatArray[1] = arr[3]}