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

well-life-gm·2021년 11월 3일
0

프로그래머스

목록 보기
23/125

보통 이런식으로 코드를 작성했는데,

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    if(s.size() % 2) 
        answer.push_back(s[s.size() / 2]);
    else {
        answer.push_back(s[s.size() / 2 - 1]);
        answer.push_back(s[s.size() / 2]);
    }
    return answer;
}

나누기 2같은 경우는 곱하기 0.5로 바꿔서 cpu 사이클을 좀 줄이는 습관을 들이고, 모듈러 연산 또한 비트 연산으로 최적화를 하는 습관을 들여야할 것 같다.
그리고 push_back좀 그만쓰고 substr로 slicing하는 습관 좀 들여야할 것 같다..

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    return s.size() & 1 ? s.substr(s.size() * 0.5, 1) : s.substr(s.size() * 0.5 - 1, 2);
}
profile
내가 보려고 만든 블로그

0개의 댓글