본문 바로가기

Algorithm/Brute Force

(C++) - LeetCode (easy) 796. Rotate String

반응형

https://leetcode.com/problems/rotate-string/description/

 

Rotate String - LeetCode

Can you solve this real interview question? Rotate String - Given two strings s and goal, return true if and only if s can become goal after some number of shifts on s. A shift on s consists of moving the leftmost character of s to the rightmost position.

leetcode.com

전수조사 문제였습니다.

📕 풀이방법

📔 풀이과정

1. 왼쪽으로 x칸만큼 움직인 문자열 값이 goal과 같다면 true를 아니라면 false를 반환하면 됩니다.

이는 x만큼 for loop를 수행해 가장 왼쪽의 문자를 오른쪽 끝으로 옮겨주면 됩니다.

2. 이동 횟수 x를 0에서 s.size() - 1만큼 for loop를 수행하며 1번을 수행하면 됩니다.


📕 Code

📔 C++

class Solution {
public:
    bool rotateString(string s, string goal) {
        for(int moves = 0; moves < s.size(); moves++) {
            string shiftedString = s;
            for(int move = 0; move < moves; move++) {
                shiftedString = shiftedString.substr(1) + shiftedString[0];
            }
            if(shiftedString == goal) return true;
        }
        return false;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.