[level 1] [PCCP 기출문제] 1번 / 동영상 재생기 - 340213

2024. 9. 10. 20:08·코딩테스트/프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/340213

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

import java.util.*;

class Solution {
    public String solution(String video_len, String pos, String op_start, String op_end, String[] commands) {
        // 전체를 int로 변환 후 (분 + 초) 계산
        int video_len_int = (Integer.parseInt(video_len.substring(0,2)) * 60) + Integer.parseInt(video_len.substring(3,5));
        
        int op_start_int = (Integer.parseInt(op_start.substring(0,2)) * 60) + Integer.parseInt(op_start.substring(3,5));
        
        int op_end_int = (Integer.parseInt(op_end.substring(0,2)) * 60) + Integer.parseInt(op_end.substring(3,5));
        
        for (int i=0; i<commands.length; i++){
            int posMin = Integer.parseInt(pos.substring(0,2)); // 현재 분
            int posSec = Integer.parseInt(pos.substring(3,5)); // 현재 초
            int pos_int = (posMin * 60) + posSec;
            
            if(pos_int <= op_end_int && pos_int>= op_start_int){
                pos_int = op_end_int;
            }
            
            if(commands[i].equals("next")){
                if(pos_int + 10 > video_len_int){
                    pos_int = video_len_int;
                }else{
                    pos_int += 10;
                }
            } else if(commands[i].equals("prev")){
                if(pos_int - 10 < 0){
                    pos_int = 0;
                }else{
                    pos_int -= 10;
                }
            }
            
            if(pos_int <= op_end_int && pos_int>= op_start_int){
                pos_int = op_end_int;
            }
            
            StringBuilder sb = new StringBuilder();
            if(pos_int/60 < 10){
                sb.append('0');
            }
            sb.append(pos_int/60);
            sb.append(":");
            if(pos_int%60 < 10){
                sb.append('0');
            }
            sb.append(pos_int%60);
            pos = sb.toString();
        }
        return pos;
    }
}

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[level 2] n^2 배열 자르기 - 87390  (0) 2024.09.15
[level 2] 할인 행사 - 131127  (1) 2024.09.15
[level 2] 연속 부분 수열 합의 개수 - 131701  (1) 2024.09.14
[level 2] 구명보트 - 42885  (0) 2024.09.14
[level 2] 타겟 넘버 - 43165  (2) 2024.09.09
'코딩테스트/프로그래머스' 카테고리의 다른 글
  • [level 2] 할인 행사 - 131127
  • [level 2] 연속 부분 수열 합의 개수 - 131701
  • [level 2] 구명보트 - 42885
  • [level 2] 타겟 넘버 - 43165
mint723dev
mint723dev
mint723dev 님의 블로그 입니다.
  • mint723dev
    mint723dev 님의 블로그
    mint723dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (89)
      • Computer Science (16)
        • Computer Architecture (0)
        • Data Structure (2)
        • Database (4)
        • Network (4)
        • Operating System (6)
        • Software Engineering (0)
      • Java (6)
      • 자료 구조 (0)
      • 코딩테스트 (63)
        • LeetCode (1)
        • 프로그래머스 (29)
        • 백준 (33)
      • Spring (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JVM
    티스토리챌린지
    탐욕법
    BFS
    DP
    오블완
    deque
    DFS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
mint723dev
[level 1] [PCCP 기출문제] 1번 / 동영상 재생기 - 340213
상단으로

티스토리툴바