inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-I

2-I 코드 오류 질문

289

류지혜

작성한 질문수 10

0

 

안녕하세요 큰돌님, 코드를 작성 후 실행시켰을 때 오류가 나와 질문드립니다.

제가 작성한 코드는 맨 아래에 있으며, 큰돌님의 코드와 비교 시 어떤 점이 문제있는지를 찾지 못했습니다.

저 코드로 예제 입력시 값이 오류가 나옵니다.

어떤 부분이 오류가 나오는지 알 수 있을까요?

예제 입력 1

2 lo3za4 01

예제 출력 1

1 3 4

실제로 출력된 값

01

11

 

[작성한 코드]

#include <bits/stdc++.h>
using namespace std;
int n;
string s, ret;
vector<string> v;
void go() {
    while(true) {
        if(ret.size() && ret.front() == '0') ret.erase(ret.begin());
        else break;
    }
    if(ret.size() == 0) ret = "0";
    v.push_back(ret);
    ret = "";
}
bool cmp(string a, string b) {
    if(a.size() == b.size()) return a < b;
    return a.size() < b.size();
}
int main() {
    cin >> n;
    for(int i=0; i<n; i++) {
        cin >> s;
        ret = "";
        for(int j=0; j<s.size(); j++) {
            if(s[i] < 65) ret += s[i];
            else if(ret.size()) go();
        }
        if(ret.size()) go();
    }
    sort(v.begin(), v.end(), cmp);
    for(string i : v) cout << i << "\n";
    return 0;
}

 

c++ 코딩-테스트

답변 1

1

큰돌

안녕하세요 지혜님ㅎㅎ

        for(int j=0; j<s.size(); j++) {
            if(s[i] < 65) ret += s[i];

이부분이요 s[i]가 아니라 s[j]가 되어야 하지 않을까요??

 

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

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

감사합니다.

강사 큰돌 올림.

0

류지혜

오타를 제대로 발견하지 못했네요; 무의식중으로 s[i]를 사용하는 버릇이 생겼나봅니다. 답변 감사합니다!

2-T 질문

0

7

0

코딩 살구클럽 가입 문의

0

67

2

코딩살구클럽 가입문의

0

69

2

3-K private case 질문

0

66

2

안녕하세요. 코딩살구클럽 문의드립니다!

0

78

2

7:41 듣다가 질문합니다

0

79

2

코드 리뷰 요청드립니다!

0

83

2

코딩살구클럽 계정 문의

0

79

2

SK하이닉스 대비 강의수강

0

217

3

코딩살구클럽 등록부탁드립니다.

0

78

2

7-F 재귀로 풀시 런타임애러

0

75

1

1-N 문제 질문입니다. (+ 채점오류)

0

82

2

코딩살구클럽 가입 확인 부탁드립니다.

0

86

2

직장인 코테 합격 공부방법 문의

0

127

2

코딩살구클럽 가입 방법

0

96

2

6-H 체점 관련 질문

0

74

1

채점서버 연결 관련 질문입니다

0

101

2

삼성 s직군

0

88

1

삼성 코테 없어짐

0

213

1

코딩살구클럽 가입부탁드립니다

0

87

2

코딩살구클럽 가입 요청 확인부탁드립니다

0

69

2

5-S 테스트 케이스 질문

0

78

2

코살 문제풀이 환경

0

88

2

2 - T 오큰수 문제가 있는 것 같습니다.

0

82

1