V-logue

[항해99] 프로그래머스 - 문자열 내 p와 y의 개수 본문

항해 99/프로그래머스 Algo

[항해99] 프로그래머스 - 문자열 내 p와 y의 개수

보그 2022. 5. 16. 10:43

대충 이런 문제인데,

나는 match 함수를 이용하여 풀었다.

Match 함수란 , 

더보기

str.match(regexp)

라는 용법으로 사용하며, 특정 문자열 내의 단어를 찾고자 할 때 사용한다.

또한 , 단어만 찾을 수 있는 것이 아니라 정규식을 이용해 특정 패턴을 분석할 때도 사용할 수 있다.

var str = 'pYYYYYY'

str.match('p');  // p가 있기 때문에 p를 출력한다.
var regular = "Hi, Hello, Hi, Bye"
var regExp = /Hi/gi;

regular2 = regular.matcg(regExp)

// 결과값 [Hi, Hi]

이런식으로 대충 사용할 수 있다. 나는,

function solution(s){


    var a = s.toLowerCase();
    var Y = (a.match(/y/g) || []).length;
    var P = (a.match(/p/g) || []).length;
    
    if (s = /[a-z]/g) {
        if (Y === P) {
            answer = true
        }    else {
            answer = false
        }
        
    }
    
    return answer;
}

이런식으로 풀었다.

먼저 p와 y가 대소문자가 섞여있기 때문에 문자열을 s.toLowerCase();를 통해 소문자로 바꿔주었고,

바꿔준 문자열이 담긴 변수인 a를 match함수를 통해

필요한 단어를 찾았고, length를 붙여 찾은 y나 p를 개수만큼 세어주었다.

 

또한 문자열은 알파벳으로만 이루어져있다고 했기 때문에 조건에 /[a-z]/g를 넣어주었다.

Comments