코딩테스트
[힌트 문제1-1]짝수는 싫어요
개발하는지호
2023. 9. 19. 15:46
import java.util.Scanner;
public class Main {
static int[] number(int a){
int[] odd = new int[a];
int index = 0;
for (int i=1; i<=a; i++) {
if(i % 2 == 0){
continue;
}
odd[index] = i;
index++;
}
return odd;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("n 숫자를 입력하시오: ");
int num = scanner.nextInt();
int[] result = number(num);
for (int value : result) {
if(value != 0) { // 배열에 할당되지 않은 위치는 0이므로 출력에서 제외
System.out.print(value + " ");
}
}
}
}
메소드를 만드는 것이 약간 함수를 만드는 것 같음
이를 활용해서 구했고, 배열에 대해 다시 한 번 이해하는 계기가 됨
근데, 이상하게 인텔리제이에서는 작동하는데, 코딩테스트 프로그램에서는 돌아가지 않는다.
class Solution {
public int[] solution(int n) {
int[] answer;
int k = 0;
if (n % 2 == 0) {
answer = new int[n / 2];
} else {
answer = new int[n / 2 + 1];
}
for (int i = 0; i <= n; i++) {
if(i % 2 == 1) {
answer[k] = i;
k++;
}
}
return answer;
}
}
이러한 방법도 있다. 이거는 된다. 보아하니, 프로그래머스에서는 메소드를 solution으로 고정하고 작동시켜야 하나보다.