문자열의 길이는 1보다 크거나 같고 ato z의 문자 만 포함합니다.
1 2 3 4 5 | s="aaabbbbhaijjjm" error_printer(s) => "0/14" s="aaaxbbbbyyhwawiwjjjwwm" error_printer(s) => "8/22" | cs |
내 답
1 2 3 4 5 6 7 | function printerError(s) { let sLength=s.match(/[n-z]/g); return (sLength ==null ? 0:sLength.length)+"/"+s.length } | cs |
best로 뽑힌 답변1
1 | var printerError = s => (s.match(/[n-z]/g) || []).length + '/' + s.length; | cs |
best로 뽑힌 답변2
1 2 3 4 5 | function printerError(s) { return `${s.replace(/[a-m]/ig, '').length}/${s.length}`; } | cs |
깨달은 점
match() 메소드에서 값이 비어 있을 경우 null이 나오는데 대신 ||을 대신 사용하고 빈 배열을 넣어서 length가 0이 되도록 만들었다.
+와 "/" 이런식으로 사용하지 않아도 `와 $를 사용하여 좀더 심플하고 보기 명료하게 사용하였다.
'javaScript > 알고리즘 문제 풀이' 카테고리의 다른 글
배열 안에서 다른 숫자를 리턴하라. (0) | 2018.06.12 |
---|---|
기한 내에 쿠폰이 회수되었는지 증명하라. (0) | 2018.06.11 |
배열의 평균값을 구하기 (0) | 2018.06.04 |
배열을 짝수나 홀수로 리턴하도록 만들자 (0) | 2018.06.04 |
5의 배수로 반올림하기 (0) | 2018.06.03 |