kimhyunjoong
20
2019-04-30 00:00:35
3
654

초보자 질문 하나 있습니다


현재시간이 시와 분으로 주어지고 노래방의 남은시간이 time으로 주어졌을떄

끝나는 시간을 계산하는 함수를 구현하고자 해서 제가 짠 코드입니다.

시는 0시부터 23시까지있으므로 24와같거나크면 24를 빼주었고 

분은 0분부터 59분까지 있으므로 분이 60분과 같거나 커지면 시를 한개 더해주고 분에서 60을 빼었습니다.

코드 채점결과 100점이 안뜨고 어디 테스트케이스에서 문제가 있는 거 같은데 혹시 어디부분이 문제가 있을까용?

저는 전혀 모르겠네요..ㅠㅠㅠㅠ



class Solution {

    public int[] solution(int h, int m, int time) {

        int[] answer = new int[2];

        answer[0] = time / 60  +  h;

        answer[1] = time % 60 + m;

        

        if(answer[1]>=60){

            answer[0]+=1;

            answer[1]-=60;

             

        }

        if(answer[0]>=24)

            answer[0] -=24;        

    

        return answer;

    }

}

0
  • 댓글 3

  • OMMIBUS
    47
    2019-04-30 08:48:17

    23시 30분에 시작해서 남은시간이 1시간이면 결과는 그냥 00시 30분으로 되는건가요? 그렇다면 오늘과 내일의 구분이 없을 것 같아서요..

  • kimhyunjoong
    20
    2019-04-30 09:35:07

    넵 맞습니당 

  • chriss
    99
    2019-04-30 19:39:59 작성 2019-04-30 19:42:02 수정됨

    문제조건에 대해서 안나와 있어서 이런저런 생각을 해봤는데


    1. time이 음수로 주어질 수 있나?

    - 음수로 주어질 수 있다면 1시 0분을 입력하고 time으로 -1을 넣는다면

    -1 % 60 = -1 이니까 60보다 작으므로 시각 단위 변동없이

    1시 -1분이라고 나오겠네요.


    2. 시작 시간으로 주어지는 h와 m이 24 또는 60을 넘겨서 들어올수 있는가?

    - if문에서 안걸릴 것 같네요.

    분이 120분 이상 들어오면 60분 차감하고 시간을 1 올리고 if문을 나가버리기 때문에

    0 120 0을 입력하면 1시 60분 이라고 나올 것 같네요. 시각도 마찬가지고요.


  • 로그인을 하시면 댓글 을 등록할 수 있습니다.