문제 : 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴!
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
풀이 : 처음에 Try Catch 로 예외발생 시 false 를 Return 시키는 코딩을 하려다가 try catch 는 안쓰는게 좋다는 C# 코딩의 기술책에서 읽었으니 다른 방식으로 생각하여 그냥 Tryparse 를 사용하여 진행!
public static bool solution(string s)
{
bool answer = true;
int result;
if (s.Length == 4 || s.Length == 6)
{
if (!int.TryParse(s, out result))
answer = false;
}
else
{
return false;
}
return answer;
}
풀이2 : 문자열을 다루기 때문에 정규식을 사용할 수 있다는걸 다른 사람 풀이를 보고.. 알게되었다..
정규식을 많이 사용하지 않다보니 그런경우라 생각이든다.. 정규식도 알아보는계기가 되었다..
using System.Text.RegularExpressions;
bool answer = false;
public bool solution(string s) {
if(s.Length == 4 || s.Length == 6)
{
answer = Regex.IsMatch(s, @"^\d+$");
}
}
return answer;
'알고리즘 > C#' 카테고리의 다른 글
[C#] 소수찾기 - 프로그래머스 (0) | 2020.10.15 |
---|---|
[C#] 서울에서 김서방 찾기 - 프로그래머스 (0) | 2020.10.14 |
[C#] 문자열 내림차순으로 배치하기 - 프로그래머스 (0) | 2020.10.13 |
[C#] 3진법 뒤집기 - 프로그래머스 (0) | 2020.10.12 |
[C#] 문자열 내 마음대로 정렬하기 - 프로그래머스 (0) | 2020.10.11 |