본문 바로가기
Programmers/C++

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

by Sin_ 2021. 9. 21.
728x90

안녕하세요 뚜디 입니다 :)

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

 

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

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

programmers.co.kr


1. 연습 문제

2. 문제 풀이

3. 소스 코드

4. 결과


1. 연습 문제
  • 문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
  • 제한 조건
s는 길이가 1 이상, 100이하인 스트링입니다.
  • 입출력 예
s return
"abcde" "c"
"qwer" "we"
2. 문제 풀이
1. 임의의 단어 s의 가운데 글자를 반환하기 위해서는 단어 s의 길이는 3이상이어야한다.
2. 단어 s의 길이가 짝수인지, 홀수인지 판별한다.
3. 짝수의 경우 길이/2 와 (길이/2)-1 의 인덱스의 값을 리턴, 홀수의 경우 길이/2 인덱스의 값을 리턴
3. 소스 코드
#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    int len = s.size();

    if (len < 3)
        return s;
    
    if (len % 2 == 0) {
        answer.push_back(s[(len / 2) - 1]);
        answer.push_back(s[(len / 2)]);
    } else {
        answer = s[len / 2];
    }

    return answer;
}
4. 결과

728x90