Advertisement
CR7CR7

tenTask

Jun 10th, 2023
1,077
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.24 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4.  
  5. public class Solution {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.        
  9.         String[] input = scanner.nextLine().split(", ");
  10.         // Create a list to store the schedule
  11.         List<String> schedule = new ArrayList<>();
  12.         // Add each lesson to the list
  13.         for (String lesson : input) {
  14.             schedule.add(lesson);
  15.         }
  16.        
  17.         String command = scanner.nextLine();
  18.         while (!command.equals("course start")) {
  19.            
  20.             String[] tokens = command.split(":");
  21.            
  22.             String action = tokens[0];
  23.             String lessonTitle = tokens[1];
  24.             switch (action) {
  25.                 case "Add":
  26.                    
  27.                     if (!schedule.contains(lessonTitle)) {
  28.                         schedule.add(lessonTitle);
  29.                     }
  30.                     break;
  31.                 case "Insert":
  32.                    
  33.                     int index = Integer.parseInt(tokens[2]);
  34.                     if (!schedule.contains(lessonTitle)) {
  35.                         schedule.add(index, lessonTitle);
  36.                     }
  37.                     break;
  38.                 case "Remove":
  39.                     // Remove the lesson, if it exists
  40.                     if (schedule.contains(lessonTitle)) {
  41.                         schedule.remove(lessonTitle);
  42.                         // Remove the exercise, if it exists
  43.                         String exercise = lessonTitle + "-Exercise";
  44.                         if (schedule.contains(exercise)) {
  45.                             schedule.remove(exercise);
  46.                         }
  47.                     }
  48.                     break;
  49.                case "Swap":
  50.     // Change the place of the two lessons, if they exist
  51.     String otherLessonTitle = tokens[2];
  52.     if (schedule.contains(lessonTitle) && schedule.contains(otherLessonTitle)) {
  53.         // Get the indices of the lessons
  54.         int firstIndex = schedule.indexOf(lessonTitle);
  55.         int secondIndex = schedule.indexOf(otherLessonTitle);
  56.         // Swap the lessons
  57.         schedule.set(firstIndex, otherLessonTitle);
  58.         schedule.set(secondIndex, lessonTitle);
  59.         // Swap the exercises, if they exist
  60.         String firstExercise = lessonTitle + "-Exercise";
  61.         String secondExercise = otherLessonTitle + "-Exercise";
  62.         // Check if the first lesson has an exercise
  63.         boolean hasFirstExercise = schedule.contains(firstExercise);
  64.         // Check if the second lesson has an exercise
  65.         boolean hasSecondExercise = schedule.contains(secondExercise);
  66.         if (hasFirstExercise) {
  67.             // Remove the first exercise
  68.             schedule.remove(firstExercise);
  69.             // Insert the first exercise after the second lesson
  70.             schedule.add(secondIndex + 1, firstExercise);
  71.         }
  72.         if (hasSecondExercise) {
  73.             // Remove the second exercise
  74.             schedule.remove(secondExercise);
  75.             // Insert the second exercise after the first lesson
  76.             schedule.add(firstIndex + 1, secondExercise);
  77.         }
  78.     }
  79.     break;
  80.  
  81.                 case "Exercise":
  82.                    
  83.                     String exercise = lessonTitle + "-Exercise";
  84.                     if (schedule.contains(lessonTitle) && !schedule.contains(exercise)) {
  85.                         int lessonIndex = schedule.indexOf(lessonTitle);
  86.                         schedule.add(lessonIndex + 1, exercise);
  87.                     } else if (!schedule.contains(lessonTitle)) {
  88.                         // If the lesson doesn't exist, add the lesson at
  89.                         // the end of the course schedule, followed by the Exercise.
  90.                         schedule.add(lessonTitle);
  91.                         schedule.add(exercise);
  92.                     }
  93.                     break;
  94.             }
  95.             // Read the next command
  96.             command = scanner.nextLine();
  97.         }
  98.         scanner.close();
  99.         // Print the whole course schedule
  100.         for (int i = 0; i < schedule.size(); i++) {
  101.             System.out.println((i + 1) + "." + schedule.get(i));
  102.         }
  103.     }
  104. }
  105.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement