Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

문자열 밀기 #384

Closed
Tracked by #297
fkdl0048 opened this issue Nov 15, 2024 · 0 comments
Closed
Tracked by #297

문자열 밀기 #384

fkdl0048 opened this issue Nov 15, 2024 · 0 comments
Assignees
Milestone

Comments

@fkdl0048
Copy link
Owner

fkdl0048 commented Nov 15, 2024

#include <string>

using namespace std;

int solution(string A, string B) {
    // 문자열이 같으면 밀 필요가 없음
    if(A == B) return 0;
    
    int len = A.length();
    string current = A;
    
    // 최대 len번 밀어보기
    for(int i = 1; i <= len; i++) {
        // 마지막 문자를 저장
        char last = current[len-1];
        
        // 나머지 문자들을 오른쪽으로 한 칸씩 이동
        for(int j = len-1; j > 0; j--) {
            current[j] = current[j-1];
        }
        
        // 마지막 문자를 맨 앞으로
        current[0] = last;
        
        // B와 같아졌다면 현재까지 민 횟수 반환
        if(current == B) {
            return i;
        }
    }
    
    // len번을 밀어도 B가 되지 않으면 불가능
    return -1;
}
@fkdl0048 fkdl0048 mentioned this issue Nov 15, 2024
98 tasks
@fkdl0048 fkdl0048 self-assigned this Nov 15, 2024
@fkdl0048 fkdl0048 added this to Todo Nov 15, 2024
@github-project-automation github-project-automation bot moved this to Todo in Todo Nov 15, 2024
@fkdl0048 fkdl0048 added this to the Programmers milestone Nov 15, 2024
@github-project-automation github-project-automation bot moved this from Todo to Done in Todo Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

1 participant