반응형
비슷한 문제인 2진수를 8진수로 바꾸는 문제를 먼저 풀고 오는 것을 추천한다.
백준 C# - 1373
풀이
위의 문제에서는 3자리수를 8진수로 바꾸었는데 이번에는 반대로 1자리수를 3자리 수로 바꾸면 된다.
01 입력받은 8진수를 2진수로 바꾸기
sb.Append(Convert.ToString(value, 2));
02 PadLeft을 이요해서 3자리수 2진수로 변경하기
sb.Append(Convert.ToString(value, 2).PadLeft(3, '0'));
03 첫번째 문자인 경우 3자리수로 안바꾸기
if (first)
{
sb.Append(Convert.ToString(value, 2));
first = false;
}
else
{
sb.Append(Convert.ToString(value, 2).PadLeft(3, '0'));
}
코드 전문
using System;
using System.Text;
namespace baek2
{
class Program
{
static void Main(string[] args)
{
string num = Console.ReadLine();
StringBuilder sb = new StringBuilder();
bool first = true;
foreach(char c in num)
{
int value = int.Parse(c.ToString());
if (first)
{
sb.Append(Convert.ToString(value, 2));
first = false;
}
else
{
sb.Append(Convert.ToString(value, 2).PadLeft(3, '0'));
}
}
Console.Write(sb.ToString());
}
}
}
반응형
'코딩테스트 준비 > 백준 C#' 카테고리의 다른 글
백준 C# - 11005 +)풀이 (0) | 2023.11.22 |
---|---|
백준 C# - 2089 +) 풀이 (0) | 2023.11.22 |
백준 C# - 1373 +) 풀이 (0) | 2023.11.21 |
백준 C# - 17087 +) 풀이 (1) | 2023.11.20 |
백준 C# - 9613 +) 풀이 (유클리드 호제법) (0) | 2023.11.18 |
댓글