Rylah's Study & Daily Life

[Programmers Level 1] 문자열 다루기 기본 본문

Programmers/Level 1

[Programmers Level 1] 문자열 다루기 기본

Rylah 2022. 1. 9. 17:05

https://programmers.co.kr/learn/courses/30/lessons/12918 

 

코딩테스트 연습 - 문자열 다루기 기본

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1

programmers.co.kr

  • 문자열 다루기 기본
문제 설명

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

제한 사항
  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
입출력 예
s return
"a234" false
"1234" true
// Programmers Level 1. 문자열 다루기 기본
// https://programmers.co.kr/learn/courses/30/lessons/12918

#include <bits/stdc++.h>
using namespace std;

bool first_solution(string s) {
	bool answer = true;
	if (s.size() != 4 && s.size() != 6)
		return false;
	for (int i = 0; i < s.size(); i++)
		if (s[i] < '0' || s[i] > '9')
			return false;
	return answer;
}

bool solution(string s) {
	bool answer = true;
	if (s.size() == 4 || s.size() == 6)
	{
		for (int i = 0; i < s.size(); i++)
			if (!isdigit(s[i]))
				return false;

		return true;
	}
	else
		return false;
	
}

int main(void)
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	string s = "a234";
	string s1 = "1234";

	cout << solution(s) << '\n';
	cout << solution(s1) << '\n';
	return 0;
}

fist solve result

정확성 테스트
테스트 1 통과 (0.01ms, 4.33MB)
테스트 2 통과 (0.01ms, 4.33MB)
테스트 3 통과 (0.01ms, 4.27MB)
테스트 4 통과 (0.01ms, 4.32MB)
테스트 5 통과 (0.01ms, 4.27MB)
테스트 6 통과 (0.01ms, 4.32MB)
테스트 7 통과 (0.01ms, 4.26MB)
테스트 8 통과 (0.01ms, 4.27MB)
테스트 9 통과 (0.01ms, 4.21MB)
테스트 10 통과 (0.01ms, 4.33MB)
테스트 11 통과 (0.01ms, 4.27MB)
테스트 12 통과 (0.01ms, 3.69MB)
테스트 13 통과 (0.01ms, 4.27MB)
테스트 14 통과 (0.01ms, 4.33MB)
테스트 15 통과 (0.01ms, 4.33MB)
테스트 16 통과 (0.01ms, 4.33MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0

 

 

second solve result

채점을 시작합니다.
정확성 테스트
테스트 1 통과 (0.01ms, 4.32MB)
테스트 2 통과 (0.01ms, 4.26MB)
테스트 3 통과 (0.01ms, 4.32MB)
테스트 4 통과 (0.01ms, 4.33MB)
테스트 5 통과 (0.01ms, 4.33MB)
테스트 6 통과 (0.01ms, 3.64MB)
테스트 7 통과 (0.01ms, 4.32MB)
테스트 8 통과 (0.01ms, 4.27MB)
테스트 9 통과 (0.01ms, 4.26MB)
테스트 10 통과 (0.01ms, 4.33MB)
테스트 11 통과 (0.01ms, 4.25MB)
테스트 12 통과 (0.01ms, 3.69MB)
테스트 13 통과 (0.01ms, 3.62MB)
테스트 14 통과 (0.01ms, 4.26MB)
테스트 15 통과 (0.01ms, 4.33MB)
테스트 16 통과 (0.01ms, 4.32MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0