• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

1-F 백준 런타임에러

24.03.21 20:18 작성 조회수 95

0

안녕하세요 선생님

dev에서 출력까지 모두 확인하고 백준에 제출하였는데 런타임에러(Segfault)가 뜨네요. 왜 그런건지 알수있을까요??

http://boj.kr/909703751c8045c0af6d239464b65482

답변 1

답변을 작성해보세요.

1

안녕하세요 진규님 ㅎㅎ

이렇게 해보시겠어요? ㅎㅎ

나머지 부분은 모두 잘 짜셨습니다. ㅎㅎ

#include <bits/stdc++.h>
using namespace std;

string s, ret;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    getline(cin, s);
    
    ret.resize(s.length()); // 문자열 ret의 길이를 s의 길이와 동일하게 설정

    for(int i = 0; i < s.length(); i++){
        if(int(s[i]) >= 65 && int(s[i]) <= 77){
            ret[i] = char(int(s[i]) + 13);
        }
        else if(int(s[i]) >= 78 && int(s[i]) <= 90){
            ret[i] = char(int(s[i]) - 13);
        }
        else if(int(s[i]) >= 97 && int(s[i]) <= 109){
            ret[i] = char(int(s[i]) + 13);
        }
        else if(int(s[i]) >= 110 && int(s[i]) <= 122){
            ret[i] = char(int(s[i]) - 13);
        }
        else ret[i] = s[i];
    }
    
    cout << ret; // 수정된 전체 문자열을 한 번에 출력
}


또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.