출처 : 반크_세계유산 경복궁
문제]
부산사이버대학교 학생 성택이는 엄마의 의뢰를 받아 주어진 문자열이 현관문 비밀번호에 사용 가능한지 알아내야 한다. 성택이는 공부해야 하므로 우리가 도와주자!
사용할 수 있는 비밀번호의 규칙은 다음과 같다.
비밀번호는 6자리 이상 9자리 이하여야 한다.
예를 들어, 123124는 올바른 비밀번호이고, 1202727161은 잘못된 비밀번호이다. 문자열이 주어졌을 때 현관문 비밀번호로 사용할 수 있는지 판단하자.
입력
첫째 줄에 문자열의 총개수 N이 주어진다.
둘째 줄부터 N개의 줄에 걸쳐 숫자, 영어 대소문자로만 구성된 문자열이 주어진다.
출력
줄마다 사용할 수 있는 비밀번호면 yes, 그렇지 않으면 no를 출력한다.
제한
● 1<= N <= 1,000
● 문자열의 길이는 1자리 이상 20자리 이하이다.
예제 입력 1
3
1245125
asdij
120318739721
예제 출력 1
yes
no
no
출처 : 백준_25372번
참고풀이]
#include <stdio.h>
#include <string.h> //strlen():문자열의 문자의 개수 구하는 함수
int main()
{
int i,j,k;//반복 또는 인덱스 변수
char Str[50]={'\0'};
//체크할 문자열의 개수를 입력받는다.
int N;
scanf("%d%*c",&N);//%*c:EnterKey
//체크할 개수만큼 반복하면서 비밀번호 요건 맞는지 체크한다.
if(N>=1 && N<=1000)
{
for(i=1; i<=N;i++)
{
scanf("%s%*c",Str);
if(strlen(Str)>=1 && strlen(Str)<=20)
{
//숫자 또는 영어 대소문자만 비밀번호로 구성
for(k=1,j=0;j<strlen(Str);j++)
{
if(Str[j]>='A' && Str[j]<='Z');
else if(Str[j]>='a' && Str[j]<='z');
else if(Str[j]>='0' && Str[j]<='9');
else
{
k=0; break;
}
}
if(k && (strlen(Str)>=6 && strlen(Str)<=9))
printf("yes\n");
else
printf("no\n");
}
else
return 0;
}
}
return 0;
}
참고풀이 결과]
대한민국의 아름다운 영토, 독도의 겨울
'프로그램 > C언어 1000제' 카테고리의 다른 글
C언어 183제] 2006년 ICPC 서울지역본선 B번 자기복제수 (2) | 2024.11.15 |
---|---|
C언어 182제] NLCS Jeju GEC-Cup A번 특별한 학교 이름 (0) | 2024.11.14 |
C언어 180제] 단어 길이 재기 (0) | 2024.11.12 |
C언어 179제] 2004년 한국정보올림피아드 지역본선 초등부 2번 줄 세우기 (0) | 2024.11.12 |
C언어 178제] 버블정렬 (1) | 2024.10.31 |
댓글