odd Num 구하기
public static void Main()
{
for (int i = 1; i < 100;)
{
Console.WriteLine(i);
// for 인수에 i++를 넣어 i%2 == 1 일때만 출력하는것도 가능하나 루프횟수와 %연산자의 퍼포먼스 최적화를 고려하여 작성
i += 2;
}
int n = 1;
while (n < 100)//검사 후에 반복
{
Console.WriteLine(n);
n += 2;
}
n = 1;
do//검사 이전에 반복
{
Console.WriteLine(n);
n += 2;
}
while (n < 100);
}
Sum,Average 구하기
public static void Main()
{
int[] arr = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int s = 0;
int len = arr.Length;
//반복문 3종을 이용하여 사용하기에 Linq기능 제외
for (int i = 0; i < len; i++)
{
s += arr[i];
}
Console.WriteLine($"Sum : {s}");
Console.WriteLine($"Average : {s/len}");
s = 0;
int idx = 0;
while (idx < len)
{
s += arr[idx];
idx++;
}
Console.WriteLine($"Sum : {s}");
Console.WriteLine($"Average : {s/len}");
idx = 0;
s = 0;
do
{
s += arr[idx];
idx++;
} while (idx < len);
Console.WriteLine($"Sum : {s}");
Console.WriteLine($"Average : {s / len}");
}
팩토리얼
public static void Main()
{
Console.Write("Enter a number: ");
int inputNum = int.Parse(Console.ReadLine());
int n = 1;
for (int i = 1; i <= inputNum; i++)
{
n *= i;
}
Console.WriteLine($"Factorial of {inputNum} is {n}");
}
난수발생
public static void Main()
{
int inputAge = -1;
int age = new Random().Next(0, 101);
do
{
Console.Write("Enter your guess (1-100): ");
inputAge = int.Parse(Console.ReadLine());
if (inputAge != age) Console.WriteLine(inputAge > age ? "Too high! Try again." : "Too low! Try again.");
} while (age != inputAge);
Console.WriteLine("Congratulations! You guessed the number.");
}
구구단, 열맞추기
public static void Main()
{
Console.WriteLine("세로");
//세로처리
for (int i = 2; i <= 9; i++)
{
for (int j = 1; j <= 9; j++)
{
int mul = i * j;
int len = 4-mul.ToString().Length;
Console.Write($"{i} X {j} = {mul}");
for (int k = 0; k < len; k++)
{
Console.Write(' ');
}
}
Console.Write('\n');
}
Console.WriteLine("\n\n\n가로");
//가로처리
for (int i = 1; i <= 9; i++)
{
for (int j = 2; j <= 9; j++)
{
int mul = i * j;
int len = 4 - mul.ToString().Length;
Console.Write($"{j} X {i} = {mul}");
for (int k = 0; k < len; k++)
{
Console.Write(' ');
}
}
Console.Write('\n');
}
}
Min,Max 찾기
public partial class PTTest
{
public int asdf;
private int gg;
}
public partial class PTTest
{
private int gg;
public void init()
{
asdf = 1;
}
}
- 오늘 학습 키워드
- 오늘 학습 한 내용을 나만의 언어로 정리하기
- do-while문은 처음본 반복문이었기에 문제를 처음 마주했을때 혼란이 있었다.
- while문과의 차이는 do-while은 최소 1번의 루프를 보장한다는 부분이 차이점인 것 같다
- 구구단의 Len을 사용하여 배열을 맞춘것은 이전에 C# 서버구현시에 패킷처리 경험에서 영감을 받았다.
직관적인 반복문 네이밍 덕분에 큰 어려움은 없었다.
- 학습하며 겪었던 문제점 & 에러
- 문제&에러에 대한 정의
- Console.Write는 가장 앞에있는 char만을 아스키값으로 바꾼다는걸 간과하여 입력을 받을때 에러가 발생하였다.
- 내가 한 시도와 해결 방법
- Console.WriteLine으로 string으로 받은 뒤 Parse하는 방법을 선택하였다, 다행히 잘 통했다.
- 새롭게 알게 된 점
- do-While 반복문과 netFrameWork의 Random클래스에 대해서 알게 되었다, 유니티로 작업할때는 유니티 라이브러리의 Random라이브러리를 사용하였는데 netFrameWork의 유니티 외의 환경에서도 유용하게 사용 할 수 있을 것 같다.
- 이 문제&에러를 다시 만나게 되었다면?
- Console.Write의 리턴값이 int라는것을 확인했으니 이후 코드 작성시에 문자열을 int로 리턴한다면 이 케이스를 적용하여 디버깅 할 수 있을 것 같다.
- 내일 학습 할 것은 무엇인지
- 일단 사전캠프에서 제공하는 게임만들기 인강과제와 팀원과 함께하는 과제가 있는데 나는 조금 늦게 합류를 하였기에
타 팀원분들이 아직 팀과제를 하지 않으셨다면 같이 진행하거나 그 외엔 게임만들기 인강 과제부터 끝낼 것 같다.