TIL
-
[TIL]C# 알고리즘TIL 2024. 4. 28. 18:07
알고리즘문제를 해결하기 위한 단계적인 방법개념 알고리즘은 문제를 해결하기 위한 명확한 절차나 방법 알고리즘은 주어진 입력에 대해 정확하고 일관된 결과를 제공해야 함 프로그래밍뿐만 아니라 다양한 분야에서 사용중요성 효율적인 알고리즘은 프로그래밍에서 매우 중요 같은 문제를 해결하는 알고리즘이 있다면 효율적인 알고리즘은 더 적은 컴퓨팅 자원(시간, 메모리 등)을 사용한다. 따라서 가능한 효율적인 알고리즘을 사용Big O 표기법알고리즘의 효율성을 나타내는 표기법입력의 크기에 따라 얼마나 많은 시간이나 공간을 필요하는지 설명 알고리즘의 최악의 경우 성능을 나타내므로 효율성을 과장하지 않는다.O(1): 상수 시간, 입력의 크기에 상관없이 항상 일정한 시간이 걸림 O(n): 선형 시간, 입력의 크기에 비례하여 시간이..
-
[TIL]C# 문법 4TIL 2024. 4. 26. 21:02
값형과 참조형C#에서 변수가 데이터를 저장하는 방식 1.값형(value Typue)변수에 값을 직접 저장변수가 실제 데이터를 보유하고 있으며, 다른 변수에 할당하거나 전달할 때는 값이 복사ex) int, float ,double, bool2. 참조형(Reference Type)변수가 데이터에 대한 참조(메모리 주소)를 저장참조형 변수의 수정은 동일한 데이터를 가리키고 있는 다른 변수에 영향을 끼친다.ex) 클래스, 배열, 인터페이스 등 값형과 참조형의 차이점값형은 실제 데이터를 변수에 저장, 참조형은 데이터에 대한 참조를 변수에 저장값형은 변수 간 값 복사가 이루어지고, 참조형은 변수 간의 참조 복사값형은 독립적으로 데이터를 가짐, 참조형은 변수가 동일한 데이터를 참조 박싱과 언박싱값형과 참조형 사이의 ..
-
[TIL]C# 강의 과제 정리TIL 2024. 4. 25. 21:21
2강 과제더보기2 -1 숫자맞추기 게임static void RandomNum(){ Random random = new Random(); int numberToGuess = random.Next(1, 101); int count = 0; Console.WriteLine("숫자 맞추기 게임을 시작합니다. 1에서 100까지의 숫자 중 하나를 맞춰보세요."); while (true) { Console.Write("숫자를 입력하세요: "); int i = int.Parse(Console.ReadLine()); count++; if (i == numberToGuess) { Console.Write("축..
-
[TIL]C#문법3TIL 2024. 4. 24. 21:23
다중 상속을 사용하지 않는이유- 다이아몬드문제(Diamond Problem)한 클래스가 두 개 이상의 부모로부터 동일한 멤버를 상속받을 수 있고 같은 이름일 경우 모호해진다.- 설계의 복잡성 증가클래스 간의 관계가 복잡해진다. 어떤 클래스로부터 어떤 멤버를 상속받을지 결정해야 하고 이로 인해 클래스 간의 상속 관계를 파악하기 어려워지고 유지보수성이 저하된다.- 이름 충돌과 충돌 해결의 어려움여러 부모 클래스로부터 상속받은 멤버들이 이름이 충돌하여 명시적으로 부모 클래스를 지정해야 하거나 멤버를 재정의 해야함. 코드의 복잡성 증가- 설계의 일관성과 단순성 유지C#은 단일 상속을 통해 설계의 일관성과 단순성을 유지하려 한다. 단일 상속을 해야 클래스 간의 관계를 명확하게 하고 코드의 가독성..
-
[TIL]C#문법 2TIL 2024. 4. 23. 17:50
객체지향 언어의 특징 (OOP) 1.캡슐화(Encapsulation) - 관련된 데이터와 기능을 묶음 - 정보를 은닉하고 외부에서의 접근을 제한해 안정성과 유지보수성을 높인다. 2.상속(Inheritance) - 부모 클래스에게서 특성과 동작을 자식이 상속받아 재사용할 수 있다. - 코드의 중복을 줄이고 구조화와 유지보수를 용이하게 한다. 더보기 부모 클래스의 멤버에 접근 가능 재정의 가능(다형성 충족) 상속의 계층 구조 형성(자식에게 상속을하고 또 자식의 자식에게 가능) 부모의 접근제한자에 따라 자식이 접근할수 있는게 달라진다. 3.다형성(Polymorphism) - 하나의 인터페이스나 기능을 다양한 방식으로 구현하거나 사용 - 유연하고 확장 가능한 코드 작성을 가능하게 해 코드의 가독성과 재사용성을 ..
-
[TIL]C#문법1주차(수정중)TIL 2024. 4. 23. 10:29
임시저장했더니....쓰던게 날라갔습니다 그냥 올려두고 나중에 더 수정하겠습니다ㅠ 1주차 강의는 프로그래밍 언어의 기초적인 문법을 알려줬습니다. 다른 언어를 알고있었더라면 어렵지 않을거라고 생각이 들었습니다. 강의 1주차 과제 1. 사용자로부터 입력받기 Console.Write("이름을 입력하세요: "); string name = Console.ReadLine(); Console.Write("나이를 입력하세요: "); int age = Convert.ToInt32(Console.ReadLine()); Console.Write("안녕하세요, {0}! 당신은 {1}세 이군요.", name, age); 기본적으로 Console.ReadLine()은 string만 받을 수 있습니다. Convert.ToInt32(..
-
[TIL] 2024-04-18 협업툴 사용TIL 2024. 4. 18. 22:34
이제 내일이 발표인 관계로 코드작업은 잠시 내려놓고 PPT와 와이어 프레임을 좀더 작업했습니다. 와이어프레임이란? 선(Wire)만을 사용하여 빠르게 결과물의 윤곽을 정하는 작업을 말합니다. 설계해야하는 게임에 어떤기능이 들어가야하는지 또는 어떤식으로 ui를 배치할지 대략적으로 설계할 수 있습니다. 필요한 기능을 적어내려간다는 점에서, 제가 느끼기에는 와이어프레임이 알고리즘 설계와 비슷하다고 생각되었습니다. 와이어프레임은 공책이나 그냥 그림판을 통해서 작성해도 무관하지만 팀원들과 작업하기에 좋은 툴 몇 개를 소개하려합니다. 와이어프레임 협업 툴 1. Figma https://www.figma.com/ Figma: The Collaborative Interface Design Tool Figma is the..
-
[TIL]2024-04-17 GitHubTIL 2024. 4. 17. 22:34
그동안 팀원분들과 작업을 했지만 깃허브 사용방법을 몰라서 일일히 합쳤었습니다. 오늘 드디어! 깃허브 특강을 들었고 사실 아직 완벽하게 이해하지 못했지만 까먹지않고 잘 기억하기 위해 정리해보려 합니다. 깃허브에 대한 필요성 깃허브를 사용하지 않을 때(마치 저희 팀처럼) 작업물을 공유하게 되면 몇가지 문제점이 생길 수 있습니다. 1. 작업물을 일일히 팀원 모두에게 공유해야한다. 2. 전달자가 작업물 일부를 빠트리거나 받은 사람이 적용을 잘 못할수도 있다. 3. 팀원 모두가 기능을 구현하고 한번에 합쳐야할 때 -> 퇴사해라 원격 저장소에 참여하는 방법 초대를 받으면 깃허브 오른쪽 위 상담 프로필에 알람이 뜬다고 하셨지만 이상하게 저희조는 저장소에 초대가 깃허브에서 안뜨고 gmail로만 왔습니다. GitHubD..