inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

7. 영어 단어 복구(문자열 컨트롤)

7번 다양한 풀이 도전 중 오류

144

전지환

작성한 질문수 3

0

7번을 강의해주신 대로도 풀어보고 다른 형식으로도 풀어보고 싶어서 다음과 같은 코드를 짜봤는데, 대문자에서 소문자로 변환은 잘 이루어지지만 중간에 포함된 띄어쓰기가 나타나면 거기서 멈춘 상태로 출력이 됩니다. 이유, 그리고 어떻게 수정해야 할 지가 궁금합니다.

예시) 입력: BeA UT I ful, 출력: bea

 

#include <iostream>

#include <vector>

#include <algorithm>

#include <string>

using namespace std;

int main(){

ios::sync_with_stdio (false);

cin.tie (NULL);

cout.tie (NULL);

string str;

cin >> str;

vector<char> answer;

for(int i=0; i<str.size(); i++){

if(str[i]!=' '){

if(str[i]>=65 && str[i]<=90){

answer.push_back(str[i]+32);

}

else{

answer.push_back(str[i]);

}

}

}

for(int i=0; i<answer.size(); i++){

cout << answer[i];

}

}

c++ 코딩-테스트

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

오류의 원인을 확인했습니다. cin >> str;를 사용하면 공백 전까지만 문자열을 입력받기 때문에 “BeA UT I ful”을 입력하면 “BeA”만 str에 저장되고 나머지는 버려집니다. 따라서 문자열에 공백이 포함될 경우 getline 함수를 사용하여 전체 라인을 입력받아야 합니다.

아래 코드에서 수정할 부분을 안내해 드리겠습니다.

// ...
string str;
getline(cin, str); // 전체 라인을 입력받기 위해 getline 함수 사용
// ...

cin >> str; 대신에 위와 같이 getline(cin, str);로 바꾸면 공백을 포함한 전체 문자열을 입력받아 처리할 수 있습니다.

이렇게 입력받으면 예시 “BeA UT I ful”에 대해서도 정상적으로 “bea ut i ful”이라는 결과를 얻을 수 있을 것입니다.

질문하신 내용에 대한 답이 되었기를 바랍니다.

87번 채점 프로그램에 오류가 있는 것 같습니다.

0

89

2

그리디 파트

0

115

2

안녕하세요. 선생님(54번 코드 관련 문의)

0

141

2

테스트 파일 exit_coe_1, time_limit_exceeded 질문

0

143

1

C언어로 코드를 짜면 채점 시에 한 문제 빼고 시간 초과가 발생하는데 해결하는 방법이 있을까요?

0

172

1

19번 질문있습니다

0

123

1

6번 관련 채점오류입니다

0

88

2

22번 문제는 C로 풀어주신 건가요 C++로 풀어주신 건가요?

0

166

2

dev C++ 콘솔창 바로 닫힘

0

245

1

최신화하기

0

171

1

채점이 안되요...

1

261

1

안녕하세요 강사님 정렬에 대해서 설명이 조금 더 듣고 싶습니다.

0

113

1

45번 공주구하기 문제를 list를 이용해서 이렇게 풀어도 될까요?

0

155

1

39번 두 배열 합치기 문제 채점 오류인가 코드 오류인가

0

155

0

채점기에서 틀렸다고 나오는데 이유를 모르겠습니다.

0

149

2

해당 강의에서 C언어로만 진행하는 강의 문의 건

0

145

2

87번 문제 섬나라 아일랜드 질문

0

128

1

16번 문제에서 직접 답을 대입하면 정답이 나오는데 채점에서 wrong answer가 나옵니다.

0

149

1

40번 교집합 문제

0

166

1

43번 뮤직비디오 문제 테스트케이스 4번을 만족 못합니다.

0

170

1

41. 연속된 자연수의 합 문제 질문있습니다.

0

165

1

질문있습니다.

0

193

2

시간초과가 나요

0

172

1

43번 문제 3 ~ 5번에 문제가 있는것 같습니다.

0

247

1