• Home
  • About
    • Ryureka Moment photo

      Ryureka

      Sin Prisa, Sin Pausa

    • About Me
    • Facebook
    • Github
    • Youtube
  • Projects
  • Posts
    • Posts
    • ProblemSolvings
    • Tags
    • Blog
    • Examples
  • ProblemSolving
    • ProblemSolving
    • BOJ
    • Programmers
    • SWEA
    • LeetCode
  • FrontEnd
    • FrontEnd
    • HTML
  • BackEnd
    • BackEnd
    • Server
      • Server
      • Spring
      • NodeJS
    • DataBase
      • DataBase
      • MySQL
      • MongoDB
  • Programming
    • Programming
    • Java
    • JS
    • Python
    • CleanCode
  • ComputerScience
    • DataStructure
    • Algorithm

[BOJ] 2980. 도로와 신호등

15 Apr 2026

Reading time ~1 minute

  • 풀이

풀이

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N,L;
		int sign[][];
		N = sc.nextInt();
		L = sc.nextInt();

		sign = new int [N][3];
		
		for (int i = 0; i < sign.length; i++) {
			for (int j = 0; j < sign[0].length; j++) {
				sign[i][j] = sc.nextInt();
			}
		}
		
		int second = 0;
		int signIndex = 0;
		int distance = 0;
		while(true) {
			second++; 
			int	D = sign[signIndex][0];
			int	R = sign[signIndex][1];
			int	G = sign[signIndex][2];			
			
			if(distance==D) {
				if(((second-1)%(R+G))>=R) signIndex++;
				else continue;
			}
			distance++;				
			
			if(distance==L) break;
			if(signIndex >= N) signIndex = 0;
		}
		
		System.out.println(second);	
	}
}


구현시뮬레이션 Share