본문 바로가기
프로그래머스/C++

[level 1] 가운데 글자 가져오기

by AsCE_hyunseung 2018. 8. 14.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
    string answer = "";
    int i = 0;
    vector<string> sv;
    sv.push_back(s);
    i=sv[0].size();
    if (i % 2 == 0)
    {
        answer = sv[0].substr(i / 2-12);
        return answer;
    }
    else
    {
        answer = sv[0].substr(i / 21);
        return answer;
    }
}
cs

문제

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


제한사항

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



처음 programmers에서 풀어본 문제이면서 제일 쉬웠다.

스트링의 길이가 홀수일때와 짝수일때만 구분하는 점과, 문자열에서 특정 인덱스에 있는 문자를 출력하는 substr()함수를 이용한다면 쉽게 해결할 수 있는 문제였다.


2학년때 배운 c++를 오랜만에 다뤄보는거라 벡터 부분을 책으로 찾아가면서 풀었다.

앞으론 배운뒤에 복습을 해야겠다는 생각이 들었다.

문제를 풀면 다른 사람들의 풀이를 볼 수 있는데 정말 도움이 많이 되는 것 같다.

코드 간결성에서 특히 python은 정말 배울 필요가 있는 것 같다.



syntaxhighlighter 플러그인을 이용해서 코드 삽입을 해봤는데 html코드 수정에서 문제가 생긴건지 마지막에 이상한 태그가 붙는다.

오늘은 늦었으니 내일 다시 해결해보도록 할 것 이다.


+

친한 선배의 추천으로 syntaxhighlighter 대신 color scripter를 써봤더니 매우 편하다. 복붙만 해주면 되는 편리함이 있다.

'프로그래머스 > C++' 카테고리의 다른 글

[level 1] 2016년  (0) 2018.08.19
[level 1] 같은 숫자는 싫어  (0) 2018.08.18
[level 1] 문자열 내 p와 y의 개수  (0) 2018.08.17
[level 1] 나누어 떨어지는 숫자 배열  (0) 2018.08.16
[level 1] 두 정수 사이의 합  (0) 2018.08.15