문제풀이/프로그래머스

[프로그래머스] 가운데 글자 가져오기

Hyeon-Uk 2020. 11. 24. 00:50
반응형

programmers.co.kr/learn/courses/30/lessons/12903

 

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

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

programmers.co.kr


문제풀이)

이문제는 string클래스의 메소드를 얼마나 잘 활용하느냐를 판별하는 문제다.

일단 길이를 얻는 s.length()함수를 이용해서 길이를 구해주고, 길이가 짝수일때, 홀수일때로 나눠서 값을 구하면된다.

짝수일때는 가운데 두글자를 추출해내야 하는데 substr을 이용하고, 홀수일때는 한개만 추출하면되므로 at을 이용한다.

※substr(a,b) => a인덱스부터 b만큼의 string을 반환함.

※at(i) => i번째 글자를 반환함

 

#include <string>
#include <vector>

using namespace std;

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