본문 바로가기
반응형

전체 글552

백준 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.
백준 C# - 1373 +) 풀이 1. 첫번째 방법 2진수를 8진수로 바꾸는 문제여서 간단하게 아래와 같이 풀었다. 이렇게 풀었더니 overflow에러가 떴다.. string num = Console.ReadLine(); string result = Convert.ToString(Convert.ToInt32(num, 2), 8); Console.WriteLine(result); 문제를 다시 일어보니 2진수가 1,000,000까지 입력되니까 생기는 이유같았다. 2. 두번째 방법 아래 그림과 같이 이진수를 3배수로 만들고 3개씩 묶어 8진수로 바꾸면된다. 01 2진수 3배수로 만들기 2진수가 3배수가 아닌 경우 앞에 0을 붙이면서 3배수로 만들기 if (num.Length % 3 != 0) { for (int i = 0; i < 3 - co.. 2023. 11. 21.
C# - Convert.ToInt32메서드로 진수 변환(2진수, 8진수, 16진수를 10진수로 ) Convert.ToInt32 메서드 문자열을 정수로 변환한다. public static int ToInt32(string? value, int fromBase); 매개변수 value : 변환할 문자열 null이면 안된다. fromBase : value의 진법을 나타낸다. 2,8,,1016진수 중 하나여야한다. 다른 값을 사용하면 ArgumnetException가 발생한다. 코드로 알아보자 01 16진수를 10진수 string num = "1A3"; int decimalFromHex = Convert.ToInt32(num, 16); Console.WriteLine($"10진수로 변환된 값 {decimalFromHex}"); 02 8진수를 10진수로 string num = "123"; int decimalF.. 2023. 11. 21.
C# - Convert.ToString 메서드로 진수 변환(10진수를 2진수, 8진수, 16진수로) Convert.ToString 메서드 정수,실수,날짜등 다양한 데이터 유형을 문자열로 변환한다. public static string ToString(int value, int toBase); 매개변수 value : 변환할 32비트 부호 있는 정수 toBase : 변환 값의 진수로서 2,8,10,16이어야 한다. 코드로 알아보자 01 10진수를 2진수 int num = 3313; string binaryNumber = Convert.ToString(num, 2); Console.WriteLine($"2진수로 변환된 값 {binaryNumber}"); 02 10진수를 8진수 int num = 3313; string octalNumber = Convert.ToString(num, 8); Console.Wri.. 2023. 11. 21.
반응형