#include <iostream>
#include <vector>
using namespace std;
bool solution(string s) {
bool answer = true;
if (s.length() < 1 || s.length() > 8) {
answer = false;
return answer;
}
if (s.length() == 4 || s.length() == 6) { //길이가 4 혹은 6
for (int i = 0; i < s.length(); i++) {
if (!((int)s[i] - 48 >= 0 && (int)s[i] - 48 <= 9)) { //이게 아니라면 모든 경우 다 false임
answer = false;
return answer;
}
}
}
else {
answer = false;
return answer;
}
return answer;
}
int main() {
string s = "a234";
cout << solution(s) << endl;
}
좋은 풀이
#include <string>
#include <vector>
using namespace std;
bool solution(string s) {
bool answer = true;
for (int i = 0; i < s.size(); i++)
{
if (!isdigit(s[i]))
answer = false;
}
return s.size() == 4 || s.size() == 6 ? answer : false;
}
‘조건’ ? ‘A’ : ‘B’
위와 같은 형태로 사용합니다.
조건이 참이면 A를 반환하고 조건이 거짓이면 B를 반환합니다.
int nResult = 0;
int A = 10, B = 20;
nResult = (A < B) ? A : B;
std::cout << nResult << std::endl;
nResult = (A > B) ? A : B;
std::cout << nResult << std::endl;
출력
10
20
C++ isdigit()
The isdigit() function in C++ checks if the given character is a digit or not.
'[알고리즘] 문제풀이 연습' 카테고리의 다른 글
[프로그래머스] 가운데 글자 가져오기 level 1 (0) | 2019.11.04 |
---|---|
[프로그래머스] 나누어 떨어지는 숫자 배열 오름차순 (0) | 2019.11.03 |
[프로그래머스] 자연수 뒤집어 배열로 만들기 (0) | 2019.11.03 |
[프로그래머스] 자릿수 더하기 level 1 (0) | 2019.11.03 |
[프로그래머스] 핸드폰번호 가리기 level 1 (0) | 2019.11.03 |