Lv.1 기초문법 파헤치기
chapter1. 홀수출력
1. for문을 이용한 출력
class program1
{
public static void Main(string[] args)
{
for(int i = 1; i<=100; i++)
{
if (i%2!=0)
{
Console.WriteLine(i);
}
}
for (int g = 1; g<=100; g++)
{
if(g%2==0)
{
continue;
}
Console.WriteLine(g);
}
}
}
두 가지 방법을 활용했다. 1) if 조건문을 통해 홀수인 i만 출력하는 것 2) if 조건문을 통해 짝수는 continue하는 것
2. while문을 이용한 출력
public static void Main(string[] args)
{
int a = 1;
while (a <= 100)
{
if ((a % 2) != 0)
{
Console.WriteLine(a);
}
a++;
}
//가장 이상적이고 효율적으로 홀수를 출력해줁다.
int b = 1;
while(b <= 100)
{
Console.WriteLine(b);
b += 2;
}
//b의 경우. 가장 단초롭게 홀수를 출력해주는 수이지만, 복잡한 계산이 필요한경우 문제가 될수있음.
int c = 1;
while (c <= 100)
{
if (c % 2 == 0)
{
c++;
continue;
}
c++;
Console.WriteLine(c);
}
//아득바득 continue를 사용하기 위해 만든 구문.
int d = 1;
while (d <= 100)
{
d++;
if (d % 2 == 0)
{
continue;
}
Console.WriteLine(d);
}
//d의 경우 이렇게 하면, 결과가 101까지 출력된다. 즉, 잘된 값은 아님.
}
세 가지 방법을 활용했다. 1) if 조건문을 통해 홀수인 a만 출력하는 것 2) 그냥 1부터 출력하며 2씩 더해주게 하는 것.
3)기존의 continue를 사용하는 방법.
3. do-while문을 이용한 출력
public static void Main(string[] args)
{
int i = 0;
do
{
i++;
if(i%2 !=0)
{
Console.WriteLine(i);
}
}
while (i < 99);
//정말간단하게, i에 1을 더하며 시작해 99에 도달하면 부수도록 함.
//do는 결국 조건이 끝나도 무조건 한번은 더 실행되기에 while의 조건을 99로 맞춤
int j = 0;
do
{
j++;
if (j % 2 == 0)
{
continue;
}
Console.WriteLine(j);
}
while (j < 99);
//아까까지 쓰던 continue를 써봄
}
두 가지 방법을 활용했다. 1) if 조건문을 통해 홀수인 a만 출력하는 것 2) 짝수면 continue하게 하는것.
chapter2. 배열을 사용한 합계 계산 및 평균 계산
1. for문을 활용한 방법
public static void Main(string[] args)
{
// 숫자를 저장할 정수형 배열 선언 및 초기화
// 각 요소는 10, 20, 30, 40, 50으로 합이 150, 평균이 30이 되는 값들로 설정
int[] numbers = { 10, 20, 30, 40, 50 };
// 배열 요소들의 합계를 저장할 변수 선언 및 0으로 초기화
int sum = 0;
// for 반복문을 사용하여 배열의 모든 요소의 합계 계산
// i는 배열의 인덱스로 사용되며 0부터 시작하여 배열 길이보다 작은 동안 반복
for (int i = 0; i < numbers.Length; i++)
{
// 현재 인덱스(i)에 해당하는 배열 요소 값을 sum에 누적
sum += numbers[i]; // sum = sum + numbers[i]와 동일한 표현
}
// 평균 계산: 합계를 배열 요소의 개수로 나눔
// 정확한 소수점 결과를 얻기 위해 sum을 float 타입으로 형변환
float average = (float)sum / numbers.Length;
// 결과 출력
// 문자열 보간($"")을 사용하여 계산된 합계와 평균 값을 포함한 문자열 출력
Console.WriteLine($"Sum: {sum} Average: {average}");
// 프로그램 종료
// Main 메서드가 여기서 끝나면 프로그램도 종료됨
}
Lv.2 기초 문법 활용해보기
chapter1. 팩토리얼 만들기!
public static void Main(string[] args)
{
// 사용자에게 입력 안내 메시지 출력
Console.WriteLine("숫자를 입력해주세요. 팩토리얼(!)계산하겠습니다.");
// 사용자로부터 숫자를 문자열 형태로 입력받음
string input = Console.ReadLine();
// 입력받은 문자열을 정수형으로 변환
int number = int.Parse(input);
// 팩토리얼 결과값을 저장할 변수 초기화 (곱셈의 항등원인 1로 시작)
int result = 1;
// 음수인 경우 팩토리얼 계산이 불가능하므로 오류 메시지 출력
if (number < 0)
{
Console.WriteLine("음수는 팩토리얼로 계산할 수 없습니다.");
}
else
{
// 1부터 입력받은 숫자까지 반복하며 팩토리얼 계산
for (int i = 1; i <= number; i++)
{
// 현재까지의 결과에 i를 곱함 (result = result * i와 동일한 표현)
result *= i;
}
}
// 입력받은 숫자 출력
Console.WriteLine($"Enter a number: {input}");
// 최종 계산된 팩토리얼 결과 출력
Console.WriteLine($"Factorial of {input} is {result}");
}
chapter2. 숫자 맞추기 게임
public static void Main(string[] args)
{
Random random = new Random();
// 1부터 100 사이의 랜덤 숫자 생성 (1 포함, 101 미포함)
int targetNumber = random.Next(1, 101);
// 사용자의 추측 값을 저장할 변수
int userGuess = 0;
// 게임 시작 메시지
Console.WriteLine("1부터 100 사이의 숫자를 맞춰보세요!");
// 사용자가 숫자를 맞출 때까지 반복
do
{
// 사용자에게 숫자 입력 요청
Console.Write("Enter your guess (1-100): ");
string input = Console.ReadLine();
// 입력값이 유효한 숫자인지 확인
if (int.TryParse(input, out userGuess))
{
// 사용자의 추측과 목표 숫자 비교
if (userGuess < targetNumber)
{
// 추측이 작을 경우
Console.WriteLine($"Enter your guess(1-100): {input}");
Console.WriteLine("Too low! Try again.");
}
else if (userGuess > targetNumber)
{
// 추측이 클 경우
Console.WriteLine($"Enter your guess(1-100): {input}");
Console.WriteLine("Too high! Try again.");
}
else
{
// 정답을 맞춘 경우
Console.WriteLine($"Enter your guess(1-100): {input}");
Console.WriteLine($"Congratulations! You guessed the number in {attempts} attempts.");
}
}
else
{
// 유효하지 않은 입력일 경우
Console.WriteLine("Please enter a valid number between 1 and 100.");
}
} while (userGuess != targetNumber); // 정답을 맞출 때까지 반복
}
chapter3. 반복문으로 구구단 만들기
public static void Main(string[] args)
{
int i = 1;
while (i<=9)
{
int j = 1;
while (j<=9)
{
Console.WriteLine($"{i} * {j} = {i*j}");
j++;
}
i++;
}
}
고마워요 코드잇! 자바스크립트랑 파이썬으로 주구장창 해본 구구단 만들기에요!
chapter4. 어떤 배열의 최솟값과 최댓값을 찾기
public static void Main(string[] args)
{
// 주어진 숫자 배열
int[] numbers = { 10, 20, 30, 40, 50 };
// 최대값과 최소값을 저장할 변수 초기화
// 배열의 첫 번째 요소로 초기화
int max = numbers[0];
int min = numbers[0];
// for 반복문을 사용하여 배열의 모든 요소 검사
for (int i = 0; i < numbers.Length; i++)
{
// 현재 요소가 max보다 크면 max 업데이트
if (numbers[i] > max)
{
max = numbers[i];
}
// 현재 요소가 min보다 작으면 min 업데이트
if (numbers[i] < min)
{
min = numbers[i];
}
}
// 결과 출력
Console.WriteLine($"최대값: {max}");
Console.WriteLine($"최소값: {min}");
}
오늘 중요한 사항
Lv.1 에서의 중요사항
- while 반복문을 사용할때. if안에 컨티뉴를 넣고 그 밑에 덧셈을 넣는 바람에 무한루프 구조가 형성. 프로그램이 제대로 구동되지 않게 되었다. 이에 대해, 무한루프를 깨기 위해, if조건을 바꿔 홀수를 바로 출력하게 했다. 다만, 만약 컨티뉴를 계속 쓸 필요가있을 경우를 대비. 코드를 하나 만들어두었다.
-do-while의, 조건에 도달에도 일단 한번 하고본다('Do!')의 역할이 완전히 이해됨. 그래서, 위와 같이 조건을 줄여줌. 다만, break를 이용하는 방법도 가능할 듯 하다.
Lv.2 에서의 중요사항
- 역시 반복문중에 제일 쉬운게 for라는 사실을 골백번 알았지만 다시 한번 알게 되었다...
- 를 바로 두번째에서 정정. 당장 조건이 구체적이지 않으나 지속 반복하고 루프를 깰때만 조건이 필요한 경우. do-while로 해결 가능!!
- 반복문은 대단하구나 생각이 들었던게, 결국 if를 여러번 반복시켜서, 배열의 i번째 요소를 각각 비교해가며, 최댓값과 최솟값을 찾음. 이건 좀 해보고도 감탄스러워서 내일 복습에 진행예정.
지금 내게 중요한것!
-나이 탓이든 군대 탓이든. 머리가 부족하면 깡 반복으로. 깡 따라하기로 해결한다!
-이 캠프 소속분들 전부 다 전공에 관련업을 해본사람도 많다. 물러서지 않기 위해선 최선을 다해야 한다.
'팀스파르타 내일배움캠프' 카테고리의 다른 글
| [사전캠프 14일차] 숫자야구 만들기!!! (0) | 2025.04.03 |
|---|---|
| [사전캠프 14일차] 행맨게임 만들기!!! (0) | 2025.04.03 |
| [사전캠프 12일차] 유니티 빗물받는 르탄이 어플 만들어보기!! (1) | 2025.04.01 |
| [사전캠프 11일차] C# 걷기반 재재재복습 (0) | 2025.03.31 |
| [사전캠프] 게임 속 상호작용 분석하기 (1) | 2025.03.28 |