문자열 다루기 기본
오늘은 "문자열 다루기 기본" 문제를 풀어보도록 하겠습니다. 해당 문제가 마지막 정답률 80% 문제입니다. 이후부터는 70% 대로 떨어지게 됩니다.
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
- s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예
s | return |
"a234" | false |
"1234" | true |
시작 코드
public class Solution {
public bool solution(string s) {
bool answer = true;
return answer;
}
}
나의 풀이
public class Solution {
public bool solution(string s) {
bool answer = false;
if(s.Length == 4 || s.Length == 6) { answer = int.TryParse(s, out int x); }
return answer;
}
}
코드 분석
string타입 s가 주어지며 코드가 시작됩니다. s의 길이가 4거나 6이라면 answer에 int.TryParse를 사용하여 s를 int형으로 변환을 시도한 값을 넣어주고 리턴합니다.
풀이 설명
이번에 작성된 코드는 단 한줄로 끝났습니다. 작성된 if문은 문제에서 요구하는 내용을 그대로 담았습니다. if조건에서 길이가 4 혹은 6이면 answer에 int.TryParse()를 사용해서 값을 넣어주는데, int.TryParse()는 문자열을 int형으로 변환하는 것입니다. 하지만 일반적인 변환과는 다르게 문자열에 꼭 정수가 포함되어 있어야 동작합니다. 하지만 이것은 동작을 하기위한 것이지 변환에 성공하려면 문자열이 전부 숫자로 이루어져 있어야 합니다. 변환에 성공하면 true, 실패하면 false를 반환하기 때문에, 숫자로만 구성되어 있는지 확인할 수 있습니다.
<NEXT>
오늘은 정답률 80%대의 마지막 1단계 문제인 "문자열 다루기 기본"을 풀어보았습니다. 다음부터는 정답률이 79%로 내려가게 됩니다. 다음 문제는 "행렬의 덧셈" 문제입니다. 감사합니다.
'프로그래머스 코딩테스트 문제 > Level 1' 카테고리의 다른 글
[프로그래머스] - 직사각형 별찍기(C#) (0) | 2023.08.11 |
---|---|
[프로그래머스] - 행렬의 덧셈(C#) (0) | 2023.08.10 |
[프로그래머스] - 부족한 금액 계산하기(C#) (0) | 2023.08.07 |
[프로그래머스] - 문자열 내림차순으로 배치하기(C#) (0) | 2023.08.06 |
[프로그래머스] - 약수의 개수와 덧셈(C#) (0) | 2023.08.05 |