본문 바로가기
프로그래밍/코딩테스트

[프로그래머스] 1레벨 여러문제

by Nessie! 2023. 6. 11.

문자열 내 p와 y의 개수

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

 

프로그래머스

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

programmers.co.kr

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

bool solution(string s)
{
    int iPCnt(0), iYCnt(0);

    //전부 소문자로 변환
    for (int i = 0; i < s.size(); i++)
        s[i] = tolower(s[i]);

    for (int i = 0; i < s.size(); i++)
    {
        if (s[i] == 'p')
            iPCnt++;

        if (s[i] == 'y')
            iYCnt++;
    }

    if (iPCnt == iYCnt)
        return true;

    return false;
}

 

문자열을 정수로 바꾸기

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

 

프로그래머스

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

programmers.co.kr

#include <string>
#include <vector>

using namespace std;

int solution(string s) 
{
    return stoi(s);
}

 

정수 제곱근 판별

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

 

프로그래머스

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

programmers.co.kr

#include <string>
#include <vector>
#include <cmath>

using namespace std;

long long solution(long long n) 
{
    long double number = sqrt((long double)n);

    if (number - (long long)number == 0)
        return (long long)pow(number + 1, 2);

    return -1;
}

 

수박수박수박수박수박수?

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

 

프로그래머스

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

programmers.co.kr

#include <string>
#include <vector>

using namespace std;

string solution(int n) 
{
    bool flag = true;
    string answer = "";
    
    for(int i = 0; i < n; i++)
    {
        if(flag)
        {
            answer+= "수";
            
            flag = !flag;
        }
        else
        {
            answer+= "박";
            
            flag = !flag;
        }
    }
  
    return answer;
}

다른 사람 풀이를 보니 & 비트연산을 통해 반복문의 인덱스로 홀/짝을 판별해 수, 박 을 달리 추가하는 기발한 방법이 있다는 것을 알아버렸다..

 

비트연산은 거의 사용하질 않다보니 떠올리지를 못하는 것 같다.. ㅜ

댓글