If you are currently taking Data Structures and it is still early in the academic year, the problems present in this section will be a good place to get started on your competitive programming journey. Many of the problems on this site require you to have good working knowledge of many of the data structures taught in the Data Structures course. As such, those problems may seem out of reach to you right now. However, the problems listed here have been specially chosen because they only require CSA-level tools (although there are some that require a basic knowledge of Sets, which can be learned by watching the videos, below). But if you are not yet ready (or do not have the time) to learn about Sets, you can skip these videos for now and head down to the problems, and do the ones that do not require Set knowledge.
For each of the problems below, there is a link to a folder. The description of the problem may be found by opening the pdf file in the linked floder for the problem. This folder also contains the sample (and official) input and output files that you can use to check your work. Be sure to review the Scanner Unit in this course before attempting any of these problems.
Do the Recycle problem from the 2020 Lockheed Martin packet.
This problem requires only CSA-level knowledge.
Do the Gearing Up problem from the 2020 Lockheed Martin packet.
This problem requires only CSA-level knowledge.
Do the Null-Cipher problem from the 2022 Lockheed Martin packet.
This problem is solvable using arrays or ArrayLists. Simply put the vowels ("a", "e", "i", "o", "u) into an ArrayList of Strings and go from there. If you would like to try your hand at solving this intro-level problem using Data Structures tools, instead, use a Set instead of an ArrayList for storage and use Character instead of String as the datatype.
Do the Where-Is-My-Change problem from the 2021 Lockheed Martin packet.
This problem only requires CSA-level knowledge.
Do the Leak-Loss problem from the 2022 Lockheed Martin packet.
This problem only requires CSA-level knowledge.
Do the Good-Ship-Input problem from the 2022 Lockheed Martin packet.
This problem can be solved using Arraylists or Sets. You will need to use the contains() method in whatever Collections class you chose.
Do the Tricky-Timecards problem from the 2022 Lockheed Martin packet.
This problem can be solved using only CSA-level knowledge.
Do the Find-The-Missing-Sensor problem from the 2022 Lockheed Martin packet.
This problem can be solved using ArrayLists or Sets. If you are just learning Sets, this is a great first problem to do.
Do the Codebreaker problem from the 2021 Lockheed Martin packet.
This problem can be solved using only CSA-level knowledge.
Do the Countdown to Launch problem from the 2021 Lockheed Martin packet.
This problem will allow you to review your knowledge of how to implement the Comparable Interface. A more Data Structures-based solution would be to use Comparator instead of Comparable. But either technique will work.
Do the Make-The-Grade problem from the 2020 Lockheed Martin packet.
This problem can be solved using only CSA-level knowledge but with one exception. You will need to learn how to do formatted printing so that you can print decimal numbers with only one place after the decimal being printed. You can get a quick tutorial on format decimal numbers in java by clicking here.
Do the Codebreaker problem from the 2021 Lockheed Martin packet.
This problem can be solved using the String methods equals() and substring(). However, you are encouraged to learn method charAt() and to use it along with the relational operators in java (++, >, <, etc.) to solve this one. Learning charAt() will be another small but important step in becoming a good competitive programmer.
Do the Flip Flop problem from the 2021 Lockheed Martin packet.
This problem will allow you to review your knowledge of 2D arrays in Java.
Do the Enter the Matrix problem from the 2021 Lockheed Martin packet.
This problem will allow you to review your knowledge of 2D arrays in Java.