본문 바로가기
Algorithm/C++

[프로그래머스 C++] 가운데 글자 가져오기 /substr()

by imagineer_jinny 2021. 8. 27.

코딩테스트 연습 - 가운데 글자 가져오기 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 가운데 글자 가져오기

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret

programmers.co.kr

 

 

문제 설명

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

재한사항

  • s는 길이가 1 이상, 100이하인 스트링입니다.

입출력 예

s return
"abcde" "c"
"qwer" "we"

 


substr( )

string substr (size_t pos = 0, size_t len = npos) const;

시작 지점(pos)과 길이(len)를 전달받아서 부분 문자열을 리턴


내 풀이

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    string answer2="";
        int len=s.length();
        
        if(len%2==0)
        {
            answer=s[len/2-1];
            answer2=s[len/2];
            return answer+answer2;
          
        }else
        {
            answer=s[(len-1)/2];
        }
        
        
    return answer;
}

 

다른 풀이

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    int len = s.length();
    if(len%2==0){
        return s.substr(len/2-1,2);
    }
    else {
            return s.substr(len/2,1);
        }
}

 

댓글