반응형 코딩테스트 준비211 백준 C# - 17103 +) 풀이 이 문제를 알기 앞서 에라토스테네스의 체를 알아야 한다. 그래서 아래 문제를 먼저 풀고 오는 것을 추천한다. 백준 C# - 1929 백준 C# - 1929 +) 에라토스테네스의 체 풀이 처음에 1978과 같은 형식으로 문제를 풀었는데 계속 시간초과가 나왔다. 백준 C# - 1978 +) 풀이 풀이 소수 찾기 문제이다. 소수는 1과 자기 자신 만을 약수로 가지는 수이다. 01 1은 소수가 아니 code-piggy.tistory.com 01 에라토스테네스의 체 위의 링크에 에로트세테스의 체에 관련된 설명을 확인할 수 있다. bool[] isPrime = Enumerable.Repeat(true, 1000000 + 1).ToArray(); for (int i = 2; i * i 2023. 11. 26. 백준 C# - 2745 +)풀이 풀이 주어진 N이 숫자인지 문자인지 나누어서 자릿수를 계산한다. 01 숫자인 경우 if (char.IsDigit(n[i])) { digit = int.Parse(n[i].ToString()); } 02 문자인 경우 else { digit = (int)n[i] - 55; } 03 현재 자릿수의 지수 계산을 하고 자릿수 값을 곱한다. answer += Math.Pow(b, n.Length - 1 - i) * digit; 예제 GJDGXS 36 정답 1000000000 과정 코드 전문 using System; namespace baek2 { class Program { static void Main(string[] args) { string[] token = Console.ReadLine().Split(); .. 2023. 11. 23. 백준 C# - 11005 +)풀이 풀이 나머지가 9보다 큰 경우와 작은경우를 나누어서 풀면 된다. 01 나머지가 9보다 경우 ASCII값을 사용하여 나머지를 해당 문자로 변환한다. if(n % b > 9) { char a = (char)((n % b) + 55); sb.Insert(0,a); } 02 나머지가 9보다 작은 경우 숫자 그대로 사용하면 된다. else sb.Insert(0,n % b); 03 sb.Inset(0,숫자)를 사용하는 이유 문자열 인덱스0에 해당 숫자를 추가한다는 의미이다. 그러므로 결과를 거꾸로 저장할 수 있다. 예를들어 345를 16진수로 변환한다고 가정해보자 1) 345 % 16 = 21 ... 9 2) 21 % 16 = 1 ... 5 3) 1 % 16 = 0 ... 1 이다. 만약 Insert를 사용하지 않.. 2023. 11. 22. 백준 C# - 2089 +) 풀이 풀이 -2진법이란? -2진법에서의 2의 거듭제곱은 사용하는 것처럼 -2진법에서는 -2의 거듭제곱이 사용된다. -7을 예시로 보면 아래와 같이 표현할 수 있다. 그러므로 -2진수를 구하기 위해서는 2진수를 구했던 방법처럼 구하면 된다. 01 n이 0인 경우 처리 if (num == 0) { Console.WriteLine("0"); return; } 02 n을 -2로 나눈 나머지를 구한다. 나머지는 -1,0,1중 하나이다. 그리고 이를 절댓값으로 만든다. 그리고 자릿값을 stringbuilder맨 앞에 넣어준다. int remainder = Math.Abs(num % -2); sb.Insert(0, remainder); 절댓값으로 표시하고 싶지 않은 경우 아래와 같이 작성할 수도 있다. int remain.. 2023. 11. 22. 백준 C# - 1212 +)풀이 비슷한 문제인 2진수를 8진수로 바꾸는 문제를 먼저 풀고 오는 것을 추천한다. 백준 C# - 1373 백준 C# - 1373 +) 풀이 1. 첫번째 방법 2진수를 8진수로 바꾸는 문제여서 간단하게 아래와 같이 풀었다. 이렇게 풀었더니 overflow에러가 떴다.. string num = Console.ReadLine(); string result = Convert.ToString(Convert.ToInt32(num, 2), 8); Conso code-piggy.tistory.com 풀이 위의 문제에서는 3자리수를 8진수로 바꾸었는데 이번에는 반대로 1자리수를 3자리 수로 바꾸면 된다. 01 입력받은 8진수를 2진수로 바꾸기 sb.Append(Convert.ToString(value, 2)); 02 Pad.. 2023. 11. 21. C# - PadLeft, PadRight메서드 사용해서 문자열 특정길이로 만드는 법 String.PadLeft 메서드 public string PadLeft(int totalWidth); 매개변수 totalWidth : 최종적으로 가져야 할 문자열의 전체 길이 코드 예제 string original = "Piggy"; string paddedLeft = original.PadLeft(10); Console.WriteLine(paddedLeft); // " Piggy" public string PadLeft(int totalWidth, char paddingChar); 매개변수 totalWidth : 최종적으로 가져야 할 문자열의 전체 길이 paddingChar : 패딩에 사용될 문자열 코드 예제 string original = "Piggy"; string paddedLeft = orig.. 2023. 11. 21. 이전 1 ··· 9 10 11 12 13 14 15 ··· 36 다음 반응형