Programming Language/C#
[C#] TQC+ 문제 CS_104 :
공구일
2025. 4. 29. 19:28
728x90
🔍C#: CS_104 .
한 줄에 띄어쓰기를 포함한 두 숫자를 두 번 받아서 두 좌표의 거리를 구하세요.
1. 문제 정답
(1) 첫 번째 방법 :
using System;
namespace C104{
class C104{
static void Main(string[] args){
string[] input1 = Console.ReadLine().Trim().Split(' ');
//double x1 = Convert.ToDouble(input1[0]);
double.TryParse(input1[0], out double x1);
double.TryParse(input1[1], out double y1);
//double x1 = double.Parse(input1[0]);
//double y1 = double.Parse(input1[1]);
string[] input2 = Console.ReadLine().Trim().Split(' ');
double.TryParse(input2[0], out double x2);
double.TryParse(input2[1], out double y2);
//double x2 = double.Parse(input2[0]);
//double y2 = double.Parse(input2[1]);
double distance = Math.Sqrt(Math.Pow(x2 - x1, 2) + Math.Pow(y2 - y1, 2) );
Console.WriteLine(distance.ToString("f4"));
//fixed-point format 4 => 4digits after the dicimal point
}
}
}
(2) 두 번째 방법 : 함수를 정의해서 사용하기
using System;
namespace C104{
class C104{
static void Main(string[] args){
double x1,y1,x2,y2;
ReadCoordinats(out x1, out y1);
ReadCoordinats(out x2, out y2);
double distance = Math.Sqrt(Math.Pow(x2 - x1, 2) + Math.Pow(y2 - y1, 2) );
//Console.WriteLine(distance.ToString("f4"));
Console.WriteLine($"{distance:F4}");
//fixed-point format 4 => 4digits after the dicimal point
}
static void ReadCoordinats(out double x, out double y){
string[] input = Console.ReadLine().Trim().Split(' ');
double.TryParse(input[0], out x);
double.TryParse(input[1], out y);
}
}
}
2. 정리
- Trim() 메서드는 문자열 앞 뒤에 있는 공백, 탭, 개행 문자 등을 삭제하는 역할을 합니다. Split(' ')은 공백을 기준으로 문자열을 자른다는 의미로, 괄호 안에 들어가는 값을 기준으로 문자열이 나뉩니다.
- 서식 지정자를 표현하는 방식이 위에서 두가지 소개되고 있습니다. 먼저, 문자열로 변경하며(distance.ToString("f4")) 소수점 4자리 까지 나타내라는 것을 의미해주는 첫 번째 방법과 문자열 보간 방식을 이용하여 $"{distance:F4}" 두 번째 방법이 있습니다.
- 문자열 보간이란 문자열 안에 변수나 표현식을 쉽게 넣는 방식으로 예전에는 더하기를 이용하여 변수와 문자열을 합친 방법의 발전된 방식이라고 생각하면 됩니다. -> $""
728x90