본문 바로가기
반응형

코딩테스트 준비211

백준 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.
백준 C# - 17087 +) 풀이 이 문제를 풀기 앞서 유클리드 호제법에 대해 알아야 한다. 그러므로 밑에 문제를 먼저 푸는 것을 추천한다. 백준 C# - 9613 백준 C# - 9613 +) 풀이 (유클리드 호제법) 문제를 풀기전에 이해 부터 하자 01 문제 잘 읽자 두번째 줄의 첫번째수도 최대 공약수에 포함되어있는지 수인줄 알고 문제 풀다가 최대 공약수가 예제 출력이랑 왜 안맞지..? 최대 공약수 구하 code-piggy.tistory.com 풀이 처음에 반복문 두개를 사용해서 풀었는데 시간 초과 결과가 나왔다. 문제에서 X + D나 X - D로 이동할 수 있다. 라는 부분이 있는데 이는 수빈이의 위치와 동생의 위치가 D로 나누어 떨어진다는 의미이다. 여러 동생들 간의 거리를 D로 나누었을때 나머지가 0이되는 최대의 D를 구해야하는데.. 2023. 11. 20.
백준 C# - 9613 +) 풀이 (유클리드 호제법) 문제를 풀기전에 이해 부터 하자 01 문제 잘 읽자 두번째 줄의 첫번째수도 최대 공약수에 포함되어있는지 수인줄 알고 문제 풀다가 최대 공약수가 예제 출력이랑 왜 안맞지..? 최대 공약수 구하는 방법이 틀렸나 했는데 각 테이스 케이스 개수를 구하는 거였다😂 3 // 전치 테스트 케이스의 개수 4 10 20 30 40 // 맨 앞에 수는 각 테스트 케이스 그러므로 4개의 테스트 케이스 3 7 5 12 3 125 15 25 02 long 사용 N=100이고 모든 수가 100만일때 모든 쌍의 최대공약수 합이 int 값의 범위를 초과하는 경우가 있으므로 long을 사용해야 한다. 문제를 풀다가 반복문이 너무 많이 나와서 뭔가 잘못됐다라는 느낌을 받았다. 그래서 좋은 방법이 없을까 찾아보다가 유클리드 호제법을 찾게.. 2023. 11. 18.
백준 C# - 2004 +) 풀이 문제 풀기를 앞서 아래 문제를 먼저 풀어보는 것을 추천한다. 백준 C# - 1676 백준 C# - 1676 +) 풀이 서론 처음에 풀때 팩토리얼 계산을 이용해서 풀었다. 효율적이지 않은 것 같아서 인터넷을 찾아보니 5와 2의 소인수분해로 풀어야 된다는 것을 알게되었다. 풀이 5의 개수를 구하자 0이 생기는 code-piggy.tistory.com 문제 소개 nCm의 결과에서 끝자리 0의 개수를 출력하는 문제이다. 끝자리가 0인 갯수는 10의 배수를 구하면 된다. 따라서 2와 5의 소인수 갯수중 작은 것을 구하면 답이 된다. 풀이 01 2의 소인수 배수 static long twoCount(long num) { long count = 0; while (num >= 2) { count += num / 2; .. 2023. 11. 6.
반응형