반응형 전체 글510 C# - const와 readonly const const 값은 변수가 선언될 때 초기화 되며 이후에는 변경할 수 없다. 또한 자동으로 static의 특성을 갖는다. 마지막으로 const는 선언과 동시에 초기화 되어야한다. 만약에 안될 경우 컴파일 에러가 뜬다. const int pi = 3.14; readonly 초기화 이후에는 변경할 수 없지만 선언할 때 또는 클래스의 생성자에서 값을 할당할 수 있다. 자동으로 static되지 않는다. 마지막으로 변수는 선언시 초기화할 필요가 없이 생성자에서 초기화 할 수 있다. 이 변수는 런타임시 할당된다. public class Piggy { public readonly static int piggy_age; public readonly int piggy_weight; static Piggy() { .. 2024. 4. 9. C# - 배열을 문자열로 바꾸는 방법 문자열 배열을 문자열로 바꾸기 위해 아래와 같이 작성했다. char[] array = answer.ToArray(); string s = array.ToString(); 그러면 아래와 같이 결과가 나온다. System.Char[] 왜 이런 결과가 나올까? ToString메서드를 사용하게 되면 배열 객체 자체를 문자열로 반환한다. 그러므로 배열의 형식 정보를 나타내는 문자열이 반환되는 것이다. 실제로 배열을 문자열로 바꾸기 위한 방법을 살펴보자 01 새로운 문자열 생성 char[] array = answer.ToArray(); string s = new string(array); 02 string.Join 사용 char[] array = answer.ToArray(); string str = string... 2024. 4. 8. 백준 C# - 1992 +) 풀이 아래 문제와 매우 유사한 문제이다. 백준 C# - 2630 +) 풀이 분할 정복 문제이다. 예제를 보면서 어떻게 분할할지 생각해보자 8 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 알고리즘 생각 부분 색종이는 code-piggy.tistory.com 분할 정복 문제이다. 8 11110000 11110000 00011100 00011100 11110000 11110000 11110011 11110011 알고리즘 생각 01 부분 색깔이 모두 같은 색상이어야 한다. 02 그렇지 않는 경우 재귀가 시작한다는 의미로 "("를 출력 .. 2024. 4. 6. GitHub - 최근 커밋 수정하기 (amend 사용) 커밋을 잘못 올리고 push를 해버렸다.. 그래서 어떻게 수정하는지 찾아보다가 Amend라는 것을 사용하면 된다는 것을 알게되었다! 01 git log을 통해 commit 내용 확인 위에 있는 로그일 수록 최근 로그이다. amend는 가장 최근의 commit만 수정할 수 있으므로 내가 잘못올린 commit이 제일 최근 커밋인지 다시 한 번 확인해 보는 것이 좋다. $ git log 02 가장 최근 commit 내용 수정하기 $ git commit --amend -m "수정할 내용" 03 git log log가 변경되었는지 체크하기 $ git log 04 push 하기 아래와 같이 git push를 했더니 rejected됐다고 에러가 나왔다. $ git push 왜 이런에러가 뜰까 찾아봤더니 원격 저장소와.. 2024. 4. 4. 백준 C# - 14425 +) 풀이 back부분을 구현하는 것만 생각하면 되는 문제이다. 01 ToArray() ToArray()를 사용하니까 메모리 초과가 났다. int[] array = queue.ToArray(); sb.AppendLine(array.Length > 0 ? array[array.Length-1].ToString() : "-1"); break; 02 push될때 값 저장 push될때 값을 저장하면 그 값이 큐의 가장 끝 값이 된다! int last = 0; while(n>0) { n--; string[] input = Console.ReadLine().Split(); switch(input[0]) { case "push": queue.Enqueue(int.Parse(input[1])); last = int.Parse(i.. 2024. 4. 3. 백준 C# - 2630 +) 풀이 분할 정복 문제이다. 예제를 보면서 어떻게 분할할지 생각해보자 8 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 알고리즘 생각 부분 색종이는 모두 같은 색상이어야한다. 그렇지 않는 경우 색종이를 1/2씩 분할하여 모두 같은 색인지 다시 체크하며 재귀적으로 확인한다. 위의 생각을 코드로 표현해보자 01 부분 색종이가 모두 같은 색상인지 체크 int firstColor = paper[row, col]; bool isSame= true; for (int i = row; i < row + size; i++) { for (int j .. 2024. 4. 1. 이전 1 ··· 3 4 5 6 7 8 9 ··· 85 다음 반응형