[C#] ToString 메서드 재정의 방법
예) int 형식의 모든 변수에는 해당 내용을 문자열로 반환할 수 있도록 하는 ToString 메서드가 있다. int x = 42; string strx = x.ToString(); Console.WriteLine(strx); // Output: // 42 클래스 또는 구조체에서 ToString 메서드를 재정의하려면 다음을 수행해야한다. 1. 다음 한정자 및 반환 형식으로 ToString 메서드를 선언한다. public override string ToString(){ } 2. 문자열을 반환하도록 메서드를 구현한다 다음 예제에서는 클래스의 특정 인스턴스와 관련된 데이터뿐 아니라 클래스의 이름을 반환한다. class Person { public string Name { get; set; } public i..
2023.11.23
[내일배움캠프] C# 문법 종합반 - 팀프로젝트 완성(소감문)
오늘은 팀프로젝트를 제출하는 날이라 마무리 작업에 들어갔다. 게임 전체적인 밸런싱부터 클리어 보상등 여러 가지 뒷작업을 하고 있는데게임을 만들어놓고 마무리로 다듬는 작업이 너무 오래 걸리고 힘들어서다들 지쳐갔다. 그래도 혼자 하는 게 아니라 다 같이 팀으로서 맡은 역할 잘 이행하며하나하나 쌓아나가니까 뭔가 완성이 되어가는 느낌을 받아서 힘을 낼 수 있었다.게임제작 마무리를 다 하고 내일 발표를 하기 때문에 다 같이 상의하여 ppt도 준비하고발표 시뮬레이션도 해가며 만든 게임을 곱씹고 있는데 역시 꾸미지 않고 기능구현에만열중한 게 너무 아쉽게 느껴졌다. 시간이 좀 더 있었다면 여러 가지 기능을 추가해표현을 더 잘하고 싶었는데 알 수 없는 버그들이 너무 많고 머리에 있는 걸 구현하는 게오래 걸려서 시간을 많..
2023.11.22
[내일배움캠프] C# 문법 종합반 - 코드카타(약수의 합, 나머지 1되는 수 찾기)
약수의 합 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 조건 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 풀이 : n의 약수를 먼저 찾아야 하기 때문에 반복문을 돌려서 나머지가 0인 수를 찾고 그 수를 답에 더해주면 된다. 더보기 public class Solution { public int solution(int n) { int answer = 0; for (int i = 1;i
2023.11.21
no image
[내일배움캠프] C# 문법 종합반 - 추상클래스, 가상메서드
오늘 팀작업 도중 서로 작업하던 내용을 팀원들과 합치게 되었다. git hub를 이용하여 작업하였고 우리 조는 collaborate 방식을 선택했다. 처음에는 처음 해보는 fork방식을 선택했지만 모종의 사건이 있고 난 뒤 collaborate 방식으로 바꾸게 되었다. 암튼 팀원들과 작업물을 합치고(merge) 난 뒤에 팀원들이 짠 코드를 하나씩 보는데 추상 클래스(abstract)를 사용한 것을 보았다. 나는 평소에 잘 쓰지 않던 클래스여서 궁금해서 자세히 보게 되었는데 그 아래 상속받은 자식 클래스에 오버라이딩(overriding) 한 것을 보고 코드를 더 줄여서 쓸 수 있겠다 싶어서 고치게 되었다. 더보기 public abstract void UseSkill(Character player, Gobl..
2023.11.20
[내일배움캠프] 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