문제
주어진 조건에 맞게 구현만 하면 되는 문제.
나 같은 경우에 정규식을 이용하여 해결하였는데,
re.findall을 이용하여 조건에 맞는 리스트가 반환되지 않는다면
수정 count를 1씩 증가시켜 주었다.
그리고 만약 주어진 패스워드의 길이가 6 미만이라면, 수정사항이 발생한다면 그 조건에 해당하는 문자를 패스워드에 추가해준다. (6 이상이라면 수정/추가이기 때문에 상관이 없다).
코드
def minimumNumber(n, password):
change = 0
if not re.findall('[0-9]', password):
change += 1
password += '1'
if not re.findall('[A-Z]', password):
change += 1
password += 'A'
if not re.findall('[a-z]', password):
change += 1
password += 'a'
if not re.findall('[!@#$%^&*()+-]', password):
change += 1
password += '!'
if len(password) < 6:
change += 6 - len(password)