본문 바로가기
IT/Programming_프로그래밍

[Py.CheckiO / Python] Py.CheckiO의 Electronic Station - Acceptable Password 5 파이썬 문제 풀이 및 해석

by 무브영/movewoo0 2021. 4. 26.
728x90
반응형

안녕하세요. 이번 포스팅에서는 Py.CheckiO 의 Electronic Station 레벨에 있는 Acceptable Password 5 문제풀이를 해보겠습니다.

 

주의:
제 답이 최고/최적화된 답이 아닐 수 있으며, 해결하는 것에만 집중한 답이기 때문에 좀 더 나은 방법이나 해석이 있으시다면 댓글 부탁드립니다.

 

 

 


 

0. Acceptable Password 5 문제 내용

 

Acceptable Password 문제 시리즈의 5번째 문제인 Acceptable Password 5입니다.

 

조건을 정리하자면 아래와 같은데, 추가된 조건은 5번째 조건입니다.

 

조건
1. password의 길이 > 6
2. 한 개 이상의 숫자 포함
3. password가 숫자로만 이뤄지면 안됨.
4. 숫자를 한개를 포함하든, 전체가 모두 숫자이든 password 길이가 9 초과이면 상관없음.
5. password에 'password' 또는 'PASSWORD'의 문자열이 포함되면 False

 

이번 문제에서는 replace 함수와 if문을 추가하면 해결 될 것 같습니다. 

 

Acceptable Password 5 문제 내용

 

 


 

 

1. Acceptable Password 5 문제 풀이

 

우선 password 문자열 안에 'password' 또는 'PASSWORD' 의 단어가 포함되는 경우를 처리하기 위해서 

 

replace 함수를 이용합니다.

 

처음받은 password의 길이를 past_length 변수에 넣고

 

password = password.replace('password','').replace('PASSWORD','')

 

의 replace 함수를 이용해서

 

만약 password에 단어가 포함되있다면 제거하는 처리를 합니다.

 

password 나 PASSWORD의 단어가 포함된다면 이것이 제거되며 past_length에 저장된 처음 password의

 

길이와 처리 후의 길이가 다를 것입니다.

 

이를 이용해 

 

if past_length != len(password)

 

의 조건문으로 두 개의 값이 다른 경우 False를 return 하는 분기를 만듭니다.

 

이전 Acceptable Password 문제와 똑같이 isdigit() 함수로 password 안의 숫자를 센 count 변수를 만듭니다.

 

조건을 검사하는 if 문에서 

 

1. password의 길이 > 6
2. 한 개 이상의 숫자 포함
3. password가 숫자로만 이뤄지면 안됨.

의 한 세트를 괄호로 묶어서 만들고 거기에 or 조건으로 4번째 조건을 or 문으로 걸면 됩니다.

 

4. 숫자를 한개를 포함하든, 전체가 모두 숫자이든 password 길이가 9 초과이면 상관없음.

 

 

 

Acceptable Password 5 문제 풀이

 


 

본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.

인용 시 출처와 같이 공개해주세요!

도움이 되셨다면 댓글 또는 공감 부탁드립니다!

728x90
반응형

댓글