[내일배움캠프] C# 문법 종합반 - 알고리즘 코드카타(짝수와 홀수)
문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num | return 3 | "Odd" 4 | "Even 풀이 : 숫자를 2로 나눴을 때의 나머지가 0이면 짝수 그 외는 홀수 이기때문에 if(조건)으로 구현 가능하다. 더보기 public class Solution { public string solution(int num) { string answer = ""; if(num % 2 == 0) { answer = "Even"; } else answer = "Odd"; return answer; } } 오늘 하루 끝..
2023.11.17
no image
[내일배움캠프] C# 문법 종합반 - 알고리즘 (Big O)
Big O 표기법 1) Big O 표기법 Big O 표기법은 알고리즘의 효율성을 나타내는 표기법입니다. 특히, Big O 표기법은 입력의 크기에 따라 알고리즘이 얼마나 많은 시간이나 공간을 필요로 하는지를 설명합니다. Big O 표기법은 알고리즘의 최악의 경우 성능을 나타내므로 알고리즘의 효율성을 과장하지 않습니다. 2) Big O 표기법의 예 O(1): 상수 시간. 입력의 크기에 상관없이 항상 일정한 시간이 걸립니다.O(n): 선형 시간. 입력의 크기에 비례하여 시간이 걸립니다. O(n^2): 이차 시간. 입력의 크기의 제곱에 비례하여 시간이 걸립니다. O(log n): 로그 시간. 입력의 크기의 로그에 비례하여 시간이 걸립니다. 3) 빅오 표기법 계산 상수 버리기 알고리즘의 시간 복잡도에서 가장 큰 ..
2023.11.16
no image
[내일배움캠프] C# 문법 종합반 - 팀프로젝트 시작
오늘은 오전 9시부터 알고리즘에 대한 세션이 있었다. 더보기 알고리즘에 대한 정리 알고리즘은 문제해결능력이다. 1) Short Term Memory : 정보의 부족 청킹(chunking)하기 주석 남기기 코드 컨벤션 잘 작성하기 2) long Term Memory : 지식의 부족 플래시 카드 작성 - 토글(접은 글) 인출 강도 높이기 정교화 연습하기 3) Working Memory : 처리능력의 부족 내재적 부하 : 특정 알고리즘의 내부적 원리를 이해하고 있으면 줄어드는 부하 외재적 부하 : 문제 외적이거나 코드의 우발적 복잡성에 기인하는 부하 본유적 부하 : 내재적 부하와 외재적 부하가 가득 차서 LTM(long Term Memory)으로 지식이 저장되는 로드에 걸리는 부하 정신 모델 만들기 : 생각나..
2023.11.15
[내일배움캠프] C# 문법 종합반 - 알고리즘
이 글을 작성하는 23.11.14 기준 내일부터 2일간 오전 9시에 알고리즘 세션을 한다고 한다. 그 전에 온라인 강의자료에 있던 알고리즘 기초를 하루 한번씩은 본다는 마음으로 옮겨 적으려 한다. 알고리즘 ( Algorithm ) 1) 알고리즘 개념 알고리즘은 문제를 해결하기 위한 명확한 절차나 방법입니다. 알고리즘은 입력을 받아 원하는 출력을 생성하기 위한 절차입니다. 알고리즘은 입력, 출력, 명확한 단계, 실행 가능성의 특성을 갖습니다. 알고리즘은 주어진 입력에 대해 정확하고 일관된 결과를 제공해야 합니다. 알고리즘은 컴퓨터 프로그래밍뿐만 아니라 다양한 분야에서 사용됩니다. 2) 알고리즘의 중요성 효율적인 알고리즘은 컴퓨터 프로그래밍에서 매우 중요합니다. 같은 문제를 해결하는 두 알고리즘이 있다면, ..
2023.11.14
[내일배움캠프] C# 문법 종합반 - 개인 프로젝트 마무리
주말 포함 해서 4일 동안 만든 프로젝트를 제출 완료했다. 이번에 만든 프로젝트이름은 TextGame이고, 텍스트 기반 콘솔 게임이다. 프로젝트 시 일어난 문제와 해결 1) 문제 : 장착 및 해제 구현 *구현하기로 한 내용 : 장착 관리 창을 만들고, 원하는 무기의 번호를 입력하면 장착 및 해제가 가능하게 만든다. *문제가 발생한 상황 : 게임시작 시 아무것도 장착하지 않은 상태에서 아이템 장착을 연달아했을 때, 이전 아이템이 로그에 남아있어 장착이 되어 있는 아이템도 장착해제가 안됨. *문제 해결을 위해 노력한 것 : 다른 동기 님께 조언을 구하고, 스스로 문제 해결을 위해 많은 고민을 했음. 결과 : 장착 및 해제에 사용된 선택한 아이템과 착용 중인 아이템을 비교하던 구문에 허점을 발견해 냈음. 해결..
2023.11.13
[내일배움캠프] C# 문법 종합반 프로퍼티와 오버라이딩(한탄의 일기)
프로퍼티(Property) 프로퍼티는 클래스 멤버로서, 객체의 필드 값을 읽거나 설정하는 데 사용되는 접근자(Accessor) 메서드의 조합입니다. 객체의 필드에 직접 접근하지 않고, 간접적으로 값을 설정하거나 읽을 수 있도록 합니다. 필드에 대한 접근 제어와 데이터 유효성 검사 등을 수행할 수 있습니다. 프로퍼티는 필드와 마찬가지로 객체의 상태를 나타내는 데이터 역할을 하지만, 외부에서 접근할 때 추가적인 로직을 수행할 수 있습니다. 더보기 [접근 제한자] [데이터 타입] 프로퍼티명 { get { // 필드를 반환하거나 다른 로직 수행 } set { // 필드에 값을 설정하거나 다른 로직 수행 } } 프로퍼티는 get과 set 접근자를 사용하여 값을 읽고 설정하는 동작을 정의합니다. get 접근자는 프..
2023.11.10
[내일배움캠프] C# 문법 종합반 (인터페이스와 열거형)
C# 인터페이스 (Interface) 는 다중상속이 가능하게 만들어주는 것 이다 다중상속은 다이아몬드 문제, 설계의 복잡성 증가,이름 충돌과 해결의 어려움 등의 이유로 사용하지 않지만 인터페이스는 위의 문제를 해결해준다. 코드의 재사용성 이나 다중상속의 제공, 유연한 설계등 장점이 많이 있다. 인터페이스가 클래스는 아니다. 클래스에 대한 제약 조건을 명시하는 것이다. 인터페이스 및 멤버 정의 더보기 interface IMyInterface { void Method1(); int Method2(string str); } 인터페이스 구현 더보기 class MyClass : IMyInterface { public void Method1() { // 구현 } public int Method2(string str..
2023.11.09
[내일배움캠프] C# 문법 종합반 - 메서드(Methods)
[1]. 메서드 (Methods) : 클래스, 구조체, 열거형에 포함되어있는 "함수"를 지칭한다. 메서드를 다른말로 "클래스 함수" 라고도 한다. 객체의 동작을 구현하기 위해 사용된다. 메서드 매개 변수는 괄호로 묶고 쉼표로 구분한다. 빈 괄호는 메서드에 매개 변수가 필요하지 않음을 나타낸다. 메서드의 구조 더보기 [접근 제한자] [리턴 타입] [메서드 이름]([매개변수]) { // 메서드 실행 코드 } (1) 접근 제한자 : 메서드에 접근할 수 있는 범위를 지정합니다. public, private, protected 등을 사용한다. (2) 리턴 타입 : 메서드가 반환하는 값의 데이터 타입을 지정합니다. 더보기 a. public int plus(int a, int b) { int c = a + b; re..
2023.11.08
[내일배움캠프] C# 문법 종합반 - 2주차 숙제풀이 (게임)
1. upDownGame 더보기 int targetNumber = new Random().Next(1, 1001); ; int guess = 0; int count = 0; Console.WriteLine("1부터 1000 사이의 숫자를 맞춰보세요."); while (guess != targetNumber) { Console.Write("추측한 숫자를 입력하세요: "); guess = int.Parse(Console.ReadLine()); count++; if (guess targetNumber) { Console.WriteLine("좀 더 작은 숫자를 입력하세요."); } else { Console.WriteLine("축하합니다! 숫자를 맞추셨습니다."); Console.WriteLine("시도한 횟수..
2023.11.07