반응형 전체 글552 Effective C# - Item3 캐스트보다는 is,as가 좋다 C#은 정적 타이핑을 수행하는 언어로 변수나 표현식의 데이터 타입을 컴파일 시에 결정하고, 타입 불일치를 방지하기 위해 컴파일러가 타입 검사를 수행한다. 이로 인해 런타임에 타입 검사를 자주 수행할 필요가 적어진다. 그러나 때로는 런타임에서 반드시 타입을 확인하거나 형변환해야 하는 경우가 있다. C#에서 형변환을 수행하는 두 가지 주요방법이 있다. 캐스트(Cast)연산자 '(타입)표현식'과 같이 명시적으로 형변환을 수행한다. 이는 컴파일러에게 형변환을 요청하는 방식이며 불일치가 발생하면 런타임 예외가 발생한다. 캐스트 연산자 동작 명시적으로 형변환을 요청하고 형변환이 실패하면 InvalidCastException이 발생한다. 그러므로 예외처리가 필요하다. 캐스팅 연선자는 객체를 새로운 형식으로 변환할 수.. 2023. 11. 2. 컴퓨터 구조 - 고급언어(컴파일언어,인터프리터언어)와 저급언어(기계어, 어셈블리어) 고급 언어로 작성된 소스코드가 실행되려면 반드시 저급 언어 즉 명령어로 변환되어야 한다. 저급언어(low-level programming language) 컴퓨터가 이해하고 실행하는 언어 01 기계어(machine-code) 컴퓨터가 직접 실행할 수 있는 가장 낮은 수준의 언어이다. 이진 형태로 표현되며 컴퓨터 하드웨어의 명렁어와 데이터를 직접 나타낸다. 가독성을 위해 16진수로 표현하기도 한다. 02 어셈블리어(assembly language) 기계어를 사람이 이애하기 쉽게 번역한 언어이다. 어셈블리어는 각 기계어 명령어에 대응되는 기호를 사용하여 작성한다. 이 언어로 프로그램을 작성하는 것 뿐만 아니라 컴퓨터가 프로그램을 어떤 절차로 작동하는지 근본적인 단계에서부터 하나하나 추적하고 관찰할 수 있기 .. 2023. 11. 2. 백준 C# - 1929 +) 에라토스테네스의 체 풀이 처음에 1978과 같은 형식으로 문제를 풀었는데 계속 시간초과가 나왔다. 백준 C# - 1978 +) 풀이 풀이 소수 찾기 문제이다. 소수는 1과 자기 자신 만을 약수로 가지는 수이다. 01 1은 소수가 아니므로 제외 if(int.Parse(token[i]) == 1) { answer--; continue; } 2) 나머지가 0이 나오면 소수가 아니므로 0이 나 code-piggy.tistory.com 위의 방식대로하게 된다면 시간 복잡도는 O(N²)이다. 두 반복문에서의 모든 i에 대해 모든 j값으로 나눗셈을 진행하므로 N * N이므로 O(N²)이 된다. 시간초과가 뜬다. 에라토스테네스의 체를 사용해야 한다. 왜 사용해야하는가? 임의의 자연수 n에 대하여 그 이하의 소수를 찾는데 제일 효율적인 방.. 2023. 10. 31. 백준 C# - 1978 +) 풀이 풀이 소수 찾기 문제이다. 소수는 1과 자기 자신 만을 약수로 가지는 수이다. 01 1은 소수가 아니므로 제외 if(int.Parse(token[i]) == 1) { answer--; continue; } 2) 나머지가 0이 나오면 소수가 아니므로 0이 나오는 수는 제외 if (int.Parse(token[i]) % j == 0) { answer--; break; } 코드 전문 using System; namespace baek2 { class Program { static void Main(string[] args) { int num = int.Parse(Console.ReadLine()); string word = Console.ReadLine(); string[] token = word.Split(.. 2023. 10. 31. 백준 C# - 1934 최대공배수, 최소공약수 설명 알아보러가기 백준 C# - 2609 +) 풀이 풀이 01 최대 공약수 for(int i = 1; i code-piggy.tistory.com 코드 전문 using System; namespace baek2 { class Program { static void Main(string[] args) { int num = int.Parse(Console.ReadLine()); while (num > 0) { string word = Console.ReadLine(); string[] token = word.Split(); int A = int.Parse(token[0]); int B = int.Parse(token[1]); int index = 1; int n = 0; if (A <.. 2023. 10. 31. 백준 C# - 2609 +) 풀이 풀이 01 최대 공약수 for(int i = 1; i 2023. 10. 31. 이전 1 ··· 40 41 42 43 44 45 46 ··· 92 다음 반응형