기본틀 :
public class Solution {
public bool solution(string s) {
bool answer = true;
return answer;
}
}
제출한 코드 :
using System;
public class Solution {
public bool solution(string s) {
return (s.Length == 4 || s.Length == 6) && int.TryParse(s, out int result);
}
}
추가 학습)
문제를 보고 string 타입의 매개변수 s에 문자가 포함 돼 있는지 여부를 판독하고
True, False를 반환해주는 함수가 있을 것이라 예상을 했다.
인터넷에 검색한 결과
원하는 타입.TryParse(input 값, out + 원하는 타입 + 변수 );
으로 형변환 가능 여부를 판별해주는 함수가 존재했다.
이 함수의 신기한 점은
TryParse(~~~~~, out + 원하는 타입(int, float, bool 등) + 결과를 담을 변수 )
으로
out 키워드를 사용하여 변환 결과를
저장할 변수를 지정한다는 점이 었다.
주요 특징으로는
- 반드시 메서드 내부에서 값이 할당되어야 함:
- 메서드가 끝날 때 out 변수는 유효한 값을 가져야 합니다.
- 호출 시 초기화 불필요:
- 호출자는 out 매개변수를 초기화하지 않아도 됩니다.
- 다중 반환을 효과적으로 처리:
- 메서드가 여러 값을 반환하고 싶을 때 사용됩니다
이다. "3번의 다중 반환을 효과적으로 처리"의 예시로는
ex)
using System;
class Program
{
static void Calculate(int a, int b, out int sum, out int multi)
{
sum = a + b; // 반드시 값을 할당해야 함
multi = a * b;
}
static void Main()
{
int x = 5, y = 3;
Calculate(x, y, out int resultSum, out int resultMulti);
Console.WriteLine($"Sum: {resultSum}, Multi: {resultProduct}");
}
}
// 결과
// Sum : 8, Multi : 15
위와 같이 Calculate라는 함수를 만들었을 때, out int sum과 out int multi를 작성하면
Calculate를 호출할 때, sum과 multi의 결과를 담을 변수를 함께 input 값으로 주어
sum의 결과와 multi의 결과를 함께 반환 받을 수 있다는 점이다.
'문제 풀기 > C#' 카테고리의 다른 글
37. 행렬의 덧셈(고정 다차원 배열, 가변 다차원 배열) (0) | 2025.01.21 |
---|---|
36. 부족한 금액 계산하기 (0) | 2025.01.21 |
34. 문자열 내림차순으로 배치하기(문자열.ToCharArray(), Array.Sort(), Array.Reverse()) (0) | 2025.01.20 |
33. 약수의 개수와 덧셈 (0) | 2025.01.20 |
32. 내적 (0) | 2025.01.20 |