본문 바로가기
코딩테스트/LV. 1

LV. 1 :: 문자열 내 p와 y의 개수

by KUROMI98 2023. 1. 23.

https://school.programmers.co.kr/learn/courses/30/lessons/12916

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(s){
    var s = s.toLowerCase(); 
    //전부 소문자로 바꿔준다
    
    var answer = '';
    var pnum =0;
    var ynum =0;
    
    for (i=0; i<s.length; i++)
        { // s라는 문자열 전체에 대해서, 
            if (s[i] == 'p') {pnum+=1;}
            else if (s[i] == 'y') {ynum+=1;}
            // p가 있으면 pnum에 1을 더해주고 y가 있으면 ynum에 1을 더해준다.
        }
    
    if (pnum==ynum){answer = true;} // p의 개수와 y의 개수가 같으면 true
    else if (pnum !== ynum){answer = false;} // 다르면 false를 answer에 넣는다
    
    return answer;
}

+230516

const solution = (s) => {
    s = s.toLowerCase();
    
    let pnum=0;
    let ynum=0;
    
    for (i=0; i<s.length; i++) {
        if (s[i]=='p') pnum ++;
        if (s[i]=='y') ynum ++;
    }
    
    let answer = true;
    if (ynum!=pnum) {answer = false;}
    
    return answer;
}

230916 C++

#include <string>
#include <iostream>
using namespace std;

bool solution(string s) {
    int pnum =0;
    int ynum=0;
    for(int i=0; i<s.size(); i++){
        if ( (s[i]=='p') || (s[i]=='P') ) pnum++;
        else if ( (s[i]=='y') || (s[i]=='Y') ) ynum++;
    }
    
    return (pnum==ynum) ? true : false;
}

댓글