inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2-L

2-L 자바로 작성한 코드입니다.

330

robin

작성한 질문수 5

0

package lecture2;

import java.util.Scanner;

public class Prob2452 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int totalWinTime = 0;
        int totalWinTime2 = 0;
        int startWinTime =0;
        int endWinTime = 0;
        int startWinTime2=0;
        int endWinTime2=0;
        int score = 0,score2 = 0;
        for (int i = 0; i < n; i++) {
            int goalTeam = sc.nextInt();
            if(goalTeam == 1)score++;
            else score2++;
            String str = sc.next();
            if(score-score2==1 && goalTeam==1){
                startWinTime = Integer.parseInt(str.split(":")[0])*60 + Integer.parseInt(str.split(":")[1]);
            }else if(score2-score==1 && goalTeam ==2){
                startWinTime2 = Integer.parseInt(str.split(":")[0])*60 + Integer.parseInt(str.split(":")[1]);
            }
            if(score == score2){
                if(goalTeam==1){
                    endWinTime2 = Integer.parseInt(str.split(":")[0])*60 + Integer.parseInt(str.split(":")[1]);
                    totalWinTime2 += endWinTime2 - startWinTime2;
                }else{
                    endWinTime = Integer.parseInt(str.split(":")[0])*60 + Integer.parseInt(str.split(":")[1]);
                    totalWinTime += endWinTime - startWinTime;
                }
            }
        }
        if(score>score2){
            totalWinTime+=48*60 - startWinTime;
        }else if(score2>score){
            totalWinTime2+=48*60 - startWinTime2;
        }
        System.out.printf("%02d:%02d\n",totalWinTime/60,totalWinTime%60);
        System.out.printf("%02d:%02d\n",totalWinTime2/60,totalWinTime2%60);
    }
}

이기기 시작한 순간(자신이 골을 넣고, 점수차이가 1인 순간)을 저장하고, 비긴 순간에 총 이기고 있던 시간에 계산하여 더해주는 구조입니다.

Java의 LocalTime 등의 시간 관련 클래스들을 사용하려다가 실패해서 40분 날려먹고 10분만에 작성한 코드입니다.

제대로 모르는 클래스를 문제풀이에 사용하는 것 보다 그냥 필요한 만큼만 구현하는게 더 빠른 경우가 많은 것을 깨달았습니다.

C++ 코테 준비 같이 해요!

답변 1

0

큰돌

LGTM

1-E질문입니다!

0

518

2

3-L 틀린 부분 피드백 부탁드립니다.

0

821

2

1-A문제 순열재귀함수 질문입니다.

0

384

1

1-A 일곱난쟁이문제입니다

0

456

1

문제 풀 때 방향성에 대해

0

800

1

맥에서 vs code로 실행 관련 질문입니다

0

523

1

17071번 메모리 초과

0

386

1

1-C질문입니다!

0

421

2

2-B BFS 시간초과질문

0

630

2

1-O 13번 라인

0

442

1

6-J 놀이공원 문제 질문

0

381

1

구현관련 질문

0

484

1

강의 교안

0

319

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

545

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

536

1

1-K

0

473

2

3-G번 질문있습니다.

1

473

3

3-C 실행 시간 질문드립니다.

0

493

1

4-A 문제 풀이 질문있습니다.

0

590

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

435

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

334

1

3-O go 함수 질문 드립니다.

1

447

2

4-A 출력 질문

0

305

1

1주차 1-O 질문드립니다

0

259

1