C#
-
20231005C#/C# 알고리즘 2023. 10. 5. 17:30
I. 숫자 짝궁 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다. 예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다(X에는 5가 3개, Y에는..
-
20230905C#/C# 알고리즘 2023. 9. 5. 14:10
I. 삼총사 한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다. 한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return 하도록 solution 함수를 완성하..
-
20230904C#/C# 알고리즘 2023. 9. 4. 23:22
1. 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 사항 두 수는 1이상 1000000이하의 자연수입니다. !! 나의 풀이 public class Solution { public int[] solution(int n, int m) { int[] answer = new int[2]; int minNum = (n > m) ? m : n; int maxDiv = 0; for (int i = 1; i < minNum + 1;..
-
20230829 - 일지C#/C# 미니실습 2023. 8. 30. 23:26
과제 : 콘솔로 텍스트 게임 만들기. 1. 몬스터, 아이템의 정보를 .csv 파일로 따로 관리하기 랜덤하게 몬스터를 젠하는 메서드를 구현해야 했다. 이전까지는 일일히 객체의 정보를 입력하여 관리하였는데, 이번에는 외부 파일로 정보를 관리하는 것이 더 효율적일 것 같아서, 시도해보았다. A. 현재 파일의 디렉토리 얻기 검색을 통해 다음과 같이 구현하였다. public static string localPath = Directory.GetParent(Path.GetFullPath(@"..\Data\MonsterData.csv")).Parent.Parent.Parent.Parent.ToString(); Path.GetFullPath : 절대 경로 정보를 string 타입으로 반환 public static st..
-
20230829 - tempC#/C# 알고리즘 2023. 8. 29. 23:54
I. 알고리즘 - 프로그래머스 1. 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. !! 나의 풀이 using System; using System.Linq; public class Solution { public int solution(int[] a, int[] b) { return a.Select((t, idx) => b[idx] * t).Sum(..
-
230828-tempC#/C# 알고리즘 2023. 8. 28. 23:54
I. 알고리즘 - 프로그래머스 1. 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. !! 나의 풀이 public class Solution { public long solution(int a, int b) { long answer = 0; long a_temp = (long)a; long b_temp = (long)b; long c = (lo..
-
델리게이트C# 2023. 8. 25. 15:00
I. 델리게이트 : 메서드를 변수처럼 전달하고 호출할 수 있게 하여, 메서드를 참조할 수 있는 형식. : 대리자와 호출할 메서드는 데이터 형식과 매개변수를 통일시켜야함. : 실제로는 접근이 불편한 상황일 때, 메서드를 델리게이트로 연결함. 정적 메서드 (Static Method) : 클래스의 인스턴스 없이 호출이 가능. : 클래스의 인스턴스에서는 호출이 불가능, 반드시 클래스명과 함께 호출. class Methods { public static Method2(string message) { Console.WriteLine("Method2: " + message); } } internal class Program { static void Main(string[] args) { Methods.Method2(..
-
값형과 참조형C# 2023. 8. 24. 21:27
I. 값형 (Value Type) : 변수에 값을 직접 저장하는 형식의 데이터 : 변수가 실제 데이터를 보유함. : 변수를 다른 변수에 할당하거나 전달할 때 값이 복사됨. : 메모리의 stack 영역에 저장됨. 스택 (stack) : 메모리에서 메서드의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역 : 메서드의 호출과 함께 할당되며, 메서드의 호출이 끝나면 소멸됨. 값형 데이터를 할당한 변수를 수정할 경우, 해당 변수의 값만 변경하므로, 다른 변수에 영향을 주지 않는다. static void Main(string[] args) { int a = 1; int b = a; Console.WriteLine($"a : {a} , b : {b}"); // a : 1 , b : 1 b += 1; Consol..