문제 :
문자열을 입력받아 문자열에서 숫자를 모두 찾아 더한 뒤에 해당 값을 (숫자와 공백을 제외한 나머지) 문자열의 길이로 나눈 값을 정수로 반올림하여 리턴해야 합니다.
입력 :
인자 1 : str
- string 타입의 문자열
출력 :
- number 타입을 리턴해야 합니다 (0 이상의 정수)
주의사항 :
- 빈 문자열을 입력받은 경우, 0을 리턴해야 합니다.
- 숫자(digit)는 연속해서 등장하지 않습니다.
입출력 예시 :
풀이 :
나만의 해설:
strLength=0으로 숫자를뺀 문자만 들어있는
문자열의 길이를 초기화 시켰고,
sum=0을 통해 숫자의 합을 0으로 초기화시켜주었다.
주의사항에서 str이 빈문자열일 경우
0을 리턴해야하기 때문에 먼저 if문을 주어
str.length===0일때 0을 리턴하게 해주었다.
그다음 for문을 통해 문자열을 돌면서
문자열에서 문자 하나하나를 Number타입으로 바꿔주어
만약 그 바꿔준 값이 isNaN 즉, 숫자가 아니면 문자이기 때문에
strLength를 1을 올려준다.
else이면 바꿔준값이 숫자이기때문에
처음에 초기화시켜주었던 sum에 더해서 담는다.
그렇게 숫자의 합들을 담은 sum을
공백과 숫자가 빠진 문자만 있는 문자열의 길이로 나누고
반올림하기위하여
Math.round() 메서드를 이용하여 반올림을 시켜주었다.