[Algorithm] 수박수박수박수박수박수?

2024. 12. 16. 22:26·Algorithm/Practice

문제 설명

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.

예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

 

문제 유형

  • 반복된 문자열 합치기

 

의사코드

  1. 반환할 문자열 변수(result)를 선언한다.
  2. 문자열의 메모리 크기를 한 번에 할당한다.
  3. [반복문] n보다 작을 때까지 반복한다.
    1. 인덱스를 나누어 짝수이면 resul에 "수"를 추가한다.
    2. 그렇지 않다면 result에 "박"을 추가한다.
  4. 결과값(result)을 반환한다.

 

코드 작성

#include <string>

using namespace std;

string solution(int n) {
    string result;
    result.reserve(n);
    
    for (int i = 0; i < n; i++)
    {
        result += (i % 2 == 0) ? "수" : "박";
    }
    
    return result;
}

 

 

배운 점
  • std::string의 +연산자는 두 문자열을 합칠 수 있으나 크기가 부족할 경우 재할당 및 복사비용이 발생한다.
  • std::string의 resever를 함수를 통해 한 번에 메모리 공간을 할당하여 복사비용을 방지한다.

'Algorithm > Practice' 카테고리의 다른 글

[Algorithm] 약수의 개수와 덧셈  (1) 2024.12.17
[Algorithm] 내적  (0) 2024.12.16
[Algorithm] 가운데 글자 가져오기  (1) 2024.12.14
[Algorithm] 나누어 떨어지는 숫자 배열  (0) 2024.12.14
[Algorithm] 서울에서 김서방 찾기  (0) 2024.12.14
'Algorithm/Practice' 카테고리의 다른 글
  • [Algorithm] 약수의 개수와 덧셈
  • [Algorithm] 내적
  • [Algorithm] 가운데 글자 가져오기
  • [Algorithm] 나누어 떨어지는 숫자 배열
DevColIn
DevColIn
복잡함을 단순하게
  • DevColIn
    심플한 코딩생활
    복잡함을 단순하게
  • 전체
    오늘
    어제
    • 전체보기 (223)
      • Unreal 부트캠프 (49)
        • TIL (34)
        • 사전캠프 (7)
        • 본캠프 (8)
      • Unrael (10)
        • 환경설정 (0)
        • Basic (19)
        • Component (5)
        • GAS (GameplayAbilitySystem) (3)
        • AI (2)
        • Implement (10)
        • UI (1)
        • Error (1)
        • Network (2)
        • Tip (1)
      • Level Design (5)
      • Math (1)
      • Design Pattern (16)
      • Computer Science (2)
        • Network (1)
        • Database (1)
      • Algorithm (79)
        • Basic (4)
        • Practice (74)
      • C++ (4)
        • Basic (4)
      • Tool (0)
      • Game (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    DesignPattern
    gas
    하드 레퍼런싱
    디자인패턴
    Animation
    Algorithm
    Implement
    component
    c++
    tsoftobjectptr
    내일배움캠프
    unreal
    알고리즘
    퀘스트
    Design Pattern
    게임동기화
    basic
    레벨디자인
    Til
    소프트 레퍼런신
    KPT회고
    unrealengine
    디자인 패턴
    GameplayEffect
    액터
    AI
    assetmanager
    사전캠프
    본캠프
    actor
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
DevColIn
[Algorithm] 수박수박수박수박수박수?
상단으로

티스토리툴바