TIL

[사전캠프 10일차] 홀수 출력

youngjin02 2025. 3. 28. 17:13

홀수 출력 문제를 풀어보겠다.

과제 시작 전 확인할 내용에 배열과 if 에 대한 이야기가 있는걸로 봐선 배열과 if 를 사용해 푸는 문제 같다.

1부터 100까지의 숫자 중에서 홀수만 출력하는 프로그램을 작성해라..

 

홀수만 출력하는 프로그램을 만드는 것은 쉬운데 1부터 100까지의 숫자 중에서 라는 말이 좀 걸린다.

그냥 for 문을 사용하여 100번 반복하면 쉬운데 배열을 써보라는 이야기 같으니

일단 배열에 1부터 100까지의 숫자를 넣고 진행해 보겠다.

// 1부터 100까지의 숫자 생성
int[] num = new int[100];
for (int i = 0; i < 100; i++)
{
    num[i] = i + 1;
}
// 홀수만 출력하는 프로그램
for(int j = 0; j < num.Length; j++ )
{
    if (num[j] % 2 == 1)
        Console.WriteLine(num[j]);
}

배열에 100개의 숫자를 하나씩 전부 넣는 건 힘드니 for 문을 이용하여 쉽게 넣어주었다.

num[ j ] % 2 == 1 을 이용하여 홀수를 골라낸 뒤 출력하였다.

while 문과 do-while 문도 사용해 보겠다.

                                                                                                                                                                      

// 1부터 100까지의 숫자 생성
int[] num = new int[100];
for (int i = 0; i < 100; i++)
{
    num[i] = i + 1;
}
// 홀수만 출력하는 프로그램
int j = 0;
while(j < num.Length)
{
    if (num[j] % 2 == 1)
        Console.WriteLine(num[j]);
    j++;
}

while 문을 이용하여 만들었다.

for 문과 달리 조건문 안에서 변수 선언이 안되기 때문에 밖에서 먼저 반복을 시켜줄 int j 를 선언하였다.

나머진 똑같다.

                                                                                                                                                                      

// 1부터 100까지의 숫자 생성
int[] num = new int[100];
for (int i = 0; i < 100; i++)
{
    num[i] = i + 1;
}
// 홀수만 출력하는 프로그램
int j = 0;
do
{
    if (num[j] % 2 == 1)
        Console.WriteLine(num[j]);
    j++;
} while (j < num.Length);

do-while 문을 이용하여 만들었다.

do-while 문은 일단 처음은 실행하고 그 후 조건에 따라 반복을 하기 때문에 while 문과 똑같이 만들었다.

 

+

 

힌트 코드를 보았는데 배열을 사용하지 않는다.. 배신감이 들었다..

사실 배열을 쓸 문제가 아니긴 했다.

다른 점은 i, j 변수를 선언할 때 값을 1로 주고 시작한다.

어차피 반복 횟수는 똑같지만 내 생각은 배열 방의 시작이 0 이기 때문에 헷갈리지 않도록 변수도 0으로 시작했다.