오늘 뭐했냐/기억하면 좋을 문제들

대소문자 반대로

스스로에게 2023. 6. 14. 23:13

정규표현식이랑 indexOf() 쓰니까 반복 조건문보다 훨씬 오래 걸린다 둘 중에 뭐가 문제인지는 모르겠다

function solution(my_string) {
    var answer = '';
    
    let small = my_string.match(/[a-z]/g) // 정규표현식 사용해봄
	let i = 0
    // 반복문은 for과 시간차이 거의 없었다
	while (i < my_string.length) {
    if (small.indexOf(my_string[i]) !== -1) { // indexOf로 같은 값이 있나 판별 
        answer += my_string[i].toUpperCase()
    } else { answer += my_string[i].toLowerCase() }
    i++
    return answer;
}

이렇게 하니까 런타임 초과되는 경우도 있었고 실행이 성공해도 시간이 1~2ms로 오래 걸렸다 

 

그냥 반복 조건문으로는 0.1ms~0.3ms

 

다른 문제를 더 해보니까 정규 표현식이 오래 걸리는 것 같다 

'오늘 뭐했냐 > 기억하면 좋을 문제들' 카테고리의 다른 글

indexOf()  (0) 2023.06.15
스코프 활용  (0) 2023.06.15
숫자야구  (0) 2023.06.14
map 사용  (0) 2023.06.14
배열의 앞 뒤 추가 제거  (0) 2023.06.14