Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/3d-dev/sharedcoursetest
Test of getting the shared course of students
https://github.com/3d-dev/sharedcoursetest
Last synced: about 1 month ago
JSON representation
Test of getting the shared course of students
- Host: GitHub
- URL: https://github.com/3d-dev/sharedcoursetest
- Owner: 3D-Dev
- Created: 2022-04-06T04:05:48.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-04-06T04:11:38.000Z (over 2 years ago)
- Last Synced: 2024-06-02T07:40:56.221Z (7 months ago)
- Language: Swift
- Size: 19.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SharedCourseTest
Test of getting the shared course of studentsYou are a developer for a university. Your current project is to develop a system for students to find courses they share with friends. The university has a system for querying courses students are enrolled in, returned as a list of (ID, course) pairs.
Write a function that takes in a collection of (student ID number, course name) pairs and returns, for every pair of students, a collection of all courses they share.
Sample Input:
```
student_course_pairs_1 = [
["58", "Linear Algebra"],
["94", "Art History"],
["94", "Operating Systems"],
["17", "Software Design"],
["58", "Mechanics"],
["58", "Economics"],
["17", "Linear Algebra"],
["17", "Political Science"],
["94", "Economics"],
["25", "Economics"],
["58", "Software Design"],
]
```
Sample Output (pseudocode, in any order):
```
find_pairs(student_course_pairs_1) =>
{
"58,17": ["Software Design", "Linear Algebra"]
"58,94": ["Economics"]
"58,25": ["Economics"]
"94,25": ["Economics"]
"17,94": []
"17,25": []
}
```Additional test cases:
Sample Input:
```
student_course_pairs_2 = [
["0", "Advanced Mechanics"],
["0", "Art History"],
["1", "Course 1"],
["1", "Course 2"],
["2", "Computer Architecture"],
["3", "Course 1"],
["3", "Course 2"],
["4", "Algorithms"]
]
```Sample output:
```
find_pairs(student_course_pairs_2) =>
{
"1,0":[]
"2,0":[]
"2,1":[]
"3,0":[]
"3,1":["Course 1", "Course 2"]
"3,2":[]
"4,0":[]
"4,1":[]
"4,2":[]
"4,3":[]
}
```
Sample Input:
```
student_course_pairs_3 = [
["23", "Software Design"],
["3", "Advanced Mechanics"],
["2", "Art History"],
["33", "Another"],
]
```Sample output:
```
find_pairs(student_course_pairs_3) =>
{
"23,3": []
"23,2": []
"23,33":[]
"3,2": []
"3,33": []
"2,33": []
}
```
Complexity analysis variables:n: number of student,course pairs in the input
s: number of students
c: total number of courses being offered (note: The number of courses any student can take is bounded by a small constant)```
import Foundation;let student_course_pairs_1 : [[String]] = [
["58", "Linear Algebra"],
["94", "Art History"],
["94", "Operating Systems"],
["17", "Software Design"],
["58", "Mechanics"],
["58", "Economics"],
["17", "Linear Algebra"],
["17", "Political Science"],
["94", "Economics"],
["25", "Economics"],
["58", "Software Design"],
]let student_course_pairs_2: [[String]] = [
["0", "Advanced Mechanics"],
["0", "Art History"],
["1", "Course 1"],
["1", "Course 2"],
["2", "Computer Architecture"],
["3", "Course 1"],
["3", "Course 2"],
["4", "Algorithms"],
]let student_course_pairs_3: [[String]] = [
["23", "Software Design"],
["3", "Advanced Mechanics"],
["2", "Art History"],
["33", "Another"],
]
```