인프런 커뮤니티 질문&답변

서진배님의 프로필 이미지
서진배

작성한 질문수

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

2-L

2-L 질문있습니다

해결된 질문

작성

·

225

1

http://boj.kr/96d35c5b502442c08daba88212df08c4

큰돌님 코드를 보니까 string 사용하신 부분 외에는 거의 동일한 것 같은데 자꾸 3%에서 틀렸다고 나와요.

이유를 알 수 있을까요?

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 진배님 ㅎㅎ

scanf와 cin을 같이 사용하지 말아야 할 때가 있습니다.

교안내의 다음 부분 참고 부탁드립니다.

입출력 싱크

time을 지역변수로 선언시 초기화를 잘해주지 않으면 쓰레기값이 들어갑니다.

교안내의 다음 부분 참고부탁드립니다.

지역변수 보다는 전역변수를

제가 좀 다듬어봤는데요.

참고 부탁드립니다.

#include <bits/stdc++.h>
using namespace std;
#define endl "\n"

int main(void) { 
    int n;
    int t1 = 0, t2 = 0; 
    int score1=0, score2=0;
    int time = 0;
    scanf("%d", &n); 

    for (int i=0; i<n; i++) {
        int team;
        int mm,ss;
        scanf("%d %d:%d",&team, &mm, &ss);

        if (score1>score2) t1+=mm*60+ss-time;
        else if (score1<score2) t2+=mm*60+ss-time;
        (team==1) ? score1++ : score2++;
        time = mm*60+ss;
    }

    if (score1>score2) t1+=48*60+00-time;
    else if (score1<score2) t2+=48*60+00-time;

    
    printf("%02d:%02d \n", t1/60, t1%60);
    printf("%02d:%02d \n", t2/60, t2%60);

    return 0;
}

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

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

감사합니다.

강사 큰돌 올림.


서진배님의 프로필 이미지
서진배

작성한 질문수

질문하기