알고리즘
[Programmars] 문자열 다루기 기본 (JavaScript)
프린벼르
2022. 2. 4. 01:25
1. 나의 생각 흐름
처음에는 그냥 길이를 고려하지않고 for문을 사용해서 만들어줬다. 그런데 오류가 계속 떠서 왜그런가 보니 길이때문이였다. 하지만 길이를 고려해서 for문으로 작성해서 돌리면 테스트 코드도 절반만 통과하게 되어서 그냥 return으로 한줄로 정리를 하게 되었다. 그랬더니 한방에 성공했다.
2. 나의 코드 정리
function solution(s) {
s = s.replace('e', 'a') //지수함수때문에 오류가 떠서 e를 다른 문자로 바꿔줬다
return s.length === 4 || s.length === 6 ? !isNaN(s) : false;
}
let newStr = str.replace(정규식|부분 문자열, 새로운 부분 문자열|함수)
정규식 => str.replace(/찾을 문자열/gi, "변경할 문자열")
※여기서 꼭 알아야 될 점은 나누기(/)표시안에 넣는 텍스트의 따옴표는 없어야 한다.※
정규식 객체나 리터럴 값. 정규식에 일치하는 부분 문자열을 새로운 부분 문자열이나 지정된 함수를 통해서 치환할 수 있습니다.
부분 문자열
새로운 부분 문자열로 바꿀 타겟 부분 문자열. 이 값은 정규식이 아닌 문자 또는 문자열이 될 수 있다.
전체 문자열에서 찾은 첫 번째만 새로운 부분 문자열로 대치됩니다.
새로운 부분 문자열
지정된 부분 문자열을 대치할 새로운 부분 문자열. 여러가지 대체 패턴들이 지원되지만 일반적으로 String을 사용한다.
3. 다른 사람들의 코드
function alpha_string46(s){
var regex = /^\d{6}$|^\d{4}$/;
return regex.test(s);
}
이게 정규 표현식을 이용한 풀이법이라고 한다. 사실 진짜 뭔지 하나도 모르겠다... 주말에 시간이 되면 정규 표현식 공부도 해보면 좋을 것 같다.
4. 결론
열심히 공부해도 아직 해야할 부분이 많은 것 같다. 가끔은 깨진 장독에 물을 붓고 있는 느낌이 들기도 한다. 그래도 매일 성실하게 공부하면 어느순간 그 장독에 물이 어느정도 차있는걸 느낄 수 있지 않을까 싶다.