본문 바로가기
728x90

csharp52

[C#] Get, Set 프로퍼티를 왜 사용할까? 참고 https://www.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS5678358974 C# 언어요소(1) - 데이터 멤버 대신에 항상 프로퍼티를 사용하라 제공 : 한빛 네트워크출처 : Effective C# : 강력한 C# 코드를 구현하는 개발지침 50가지 Chapter 1C# 언어에서는 다양한 이유로 프로퍼티의 사용을 장려한다. 지금까지도 타입(type)에서 public데이터 변수 www.hanbit.co.kr 요약 1. 변수를 외부에서 접근(public, protected)할 수 있도록 하게 해주면서 객체지향의 캡슐화를 지원해주기 때문 2. 닷넷 프레임워크에서 데이터 바인딩을 지원하는 클래스들은 Reflection을 통해 접근하는데.. 2023. 2. 26.
[C++, 백준] 알파벳 찾기 [2022. 10. 10] 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. ================================== 두 가지의 방법으로 풀어.. 2022. 10. 10.
[C++, 백준] 숫자의 합 [2022. 10. 10] 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. ================================================================ 두 가지의 방법으로 풀어봤다. 1. Char 포인터 사용 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include using namespace std; int main(void) { ios_base::sync_with_stdio(false.. 2022. 10. 10.
[C++, 백준] 아스키 코드 [2022. 10. 10] 문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력 입력으로 주어진 글자의 아스키 코드 값을 출력한다. ==================================================== 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include using namespace std; int main(void) { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); char Character_for_Transfering_To_AS.. 2022. 10. 10.
[C++, 백준] 한수 [2022. 10. 10] 문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. ========================================================= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3.. 2022. 10. 10.
[C++, 백준] 셀프 넘버 [2022. 10. 10] ====================================== 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 8.. 2022. 10. 10.
[Pattern] Managed code, UnManaged code, Dispose 패턴 [2022. 03. 07. Mon] ※ 개인 학습 기록용입니다. 개념이나 예시가 잘못 되었을 수도 있음을 주의드립니다. 만약에 그러한 점이 발견되었다면 조언 및 첨삭 감사히 부탁드리겠습니다 :) ■ 개념 여러가지 뜻이 존재하지만 위 패턴에서 사용되어지는 개념은 Dispose : 처분하다, 처리하다. 이다. able이 붙은 Disposable은 처분 가능하다는 뜻인데 무엇을 처분하는 것인지를 먼저 이해를 해야 사용할 수 있다. https://docs.microsoft.com/ko-kr/dotnet/api/system.idisposable?view=net-6.0 (참고 자료) 바로 메모리를 관리하는 패턴인데. 처음에 해당 자료를 봤을 때는 'C#에는 .NET Framework안에서 자동으로 리소스를 관리해주.. 2022. 3. 7.
[Block_chain] Typescript(6) 블록체인 구현 - IsValid 체크 [2022. 02. 06, Sun] ▼ 블록 생성이 가능한지를 판단하는 boolean 리턴 타입의 함수이다. 강좌 따라 작성해봤다. 1. 구조가 같은지 체크 2. 인덱스가 이전 보다 +1 되었는지 체크 3. 새로 add될 블록이 prevBlock의 Hash값을 제대로 갖고있는지 체크 4. 새로 add될 블록의 Hash값이 의도한 구조대로 생성되었는지 체크 이다. Typescript에서 타입이 같은 지를 저렇게 체크하나보다. C#에서는 비교를 ==로 하는데 차이가 무엇인지 찾아봤다. 자바에서는 falsy 값이라는 것이 있다고 한다. C#에서는 if(77 == "77") 이 애초에 안되는 것인데 자바에서는 된다고한다. "77"를 파싱해서 같은 지를 비교를 한다고한다. 그래서 if(false == 0) 또한 .. 2022. 2. 6.
[Block_chain] Typescript 활용(5) - 블록체인 구현 [2022. 02. 06] ▼ 강의에 따라 쳐봤다. ▼ 흔히 서버에 json파일을 로그했을 때 볼 수 있는 타입으로 나온다. (타입스크립트 및 자바에서 array가 이런 식으로 나오나보다) ▼ CryptoJS 설치 (목적: 해시 함수를 통해 암호화 하기 위함) 설치를 하고 사용을 하기 위해서는 아래와 같이 맨 위에 import문을 추가해줘야한다. ▼ BlockHash 값을 생성해주는 Static 함수를 만들어준다. index, 이전 hash, timestamp, data를 아까 임포트했던 CryptoJS의 SHA256라는 함수를 통해 해쉬 값을 만들어주고 그것을 toString 해준 뒤 string 타입으로 반환 해주는 함수다. 규격이 없다면 C#에서도 아스키코드라든지 따로 나만의 암호를 만들어서 구현해.. 2022. 2. 6.
728x90