diff --git a/amex-2022-10-20/0_setup/db.db b/amex-2022-10-20/0_setup/db.db deleted file mode 100644 index 4cfce5a..0000000 Binary files a/amex-2022-10-20/0_setup/db.db and /dev/null differ diff --git a/amex-2022-10-20/0_setup/go.mod b/amex-2022-10-20/0_setup/go.mod deleted file mode 100644 index 51e3620..0000000 --- a/amex-2022-10-20/0_setup/go.mod +++ /dev/null @@ -1,5 +0,0 @@ -module 0_setup - -go 1.18 - -require github.com/mattn/go-sqlite3 v1.14.15 diff --git a/amex-2022-10-20/0_setup/go.sum b/amex-2022-10-20/0_setup/go.sum deleted file mode 100644 index 252cb10..0000000 --- a/amex-2022-10-20/0_setup/go.sum +++ /dev/null @@ -1,2 +0,0 @@ -github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI= -github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= diff --git a/amex-2022-10-20/0_setup/main.go b/amex-2022-10-20/0_setup/main.go deleted file mode 100644 index df48234..0000000 --- a/amex-2022-10-20/0_setup/main.go +++ /dev/null @@ -1,74 +0,0 @@ -package main - -import ( - "database/sql" - "flag" - "fmt" - "log" - "strings" - - _ "github.com/mattn/go-sqlite3" -) - -func main() { - dbpath := flag.String("db", "./db.db", "path to db file") - q := flag.String("q", "show tables", "query to execute") - flag.Parse() - - query := strings.Trim(strings.TrimSpace(*q), ";") - if len(query) == 0 { - panic("refusing empty query") - } - query += ";" - log.Printf("%s", query) - - db, err := sql.Open("sqlite3", *dbpath) - if err != nil { - panic(err) - } - - if strings.HasPrefix(strings.ToUpper(strings.TrimSpace(query)), "SELECT") { - rows, err := db.Query(query) - if err != nil { - panic(err) - } - defer rows.Close() - - columns, err := rows.Columns() - if err != nil { - panic(err) - } - - ptrs := make([]any, len(columns)) - for i := range ptrs { - var v interface{} - ptrs[i] = &v - } - - for rows.Next() { - if err := rows.Scan(ptrs...); err != nil { - panic(err) - } - result := make([]string, len(columns)) - for i := range ptrs { - ptr := ptrs[i].(*interface{}) - result[i] = fmt.Sprintf("%s:%+v", columns[i], *ptr) - } - log.Println(result) - } - } else { - stmt, err := db.Prepare(query) - if err != nil { - panic(err) - } - - result, err := stmt.Exec() - if err != nil { - panic(err) - } - - affected, err := result.RowsAffected() - log.Printf("%d: %v", affected, err) - } - -} diff --git a/amex-2022-10-20/0_setup/mvp.sh b/amex-2022-10-20/0_setup/mvp.sh deleted file mode 100644 index a310e7a..0000000 --- a/amex-2022-10-20/0_setup/mvp.sh +++ /dev/null @@ -1,51 +0,0 @@ -#! /bin/bash - -main() { - set -e - set -o pipefail - - local bin=./0_setup - local cmds=( - 'DROP TABLE IF EXISTS a' - 'CREATE TABLE a( - x INT, - y VARCHAR(20), - PRIMARY KEY (x) - )' - 'DROP TABLE IF EXISTS b' - 'CREATE TABLE b( - x INT, - y VARCHAR(20), - PRIMARY KEY (x) - )' - 'SELECT * FROM a' - 'INSERT INTO a - (x, y) - VALUES - (4, "a") - ' - 'SELECT * FROM a' - 'SELECT * FROM b' - 'INSERT INTO b - (x, y) - VALUES - (5, "b") - ' - 'SELECT * FROM b' - 'UPDATE b - SET x=4 - WHERE y="b" - ' - 'SELECT * FROM b' - 'SELECT * FROM a JOIN b WHERE a.x == b.x' - 'SELECT a.y, b.y FROM a JOIN b WHERE a.x == b.x' - ) - - for cmd in "${cmds[@]}"; do - echo ================= - $bin -q "$cmd" - echo - done -} - -main "$@" diff --git a/amex-2022-10-20/1_/go.mod b/amex-2022-10-20/1_/go.mod deleted file mode 100644 index d47f79b..0000000 --- a/amex-2022-10-20/1_/go.mod +++ /dev/null @@ -1,3 +0,0 @@ -module 1_ - -go 1.18 diff --git a/amex-2022-10-20/2_/go.mod b/amex-2022-10-20/2_/go.mod deleted file mode 100644 index ac141eb..0000000 --- a/amex-2022-10-20/2_/go.mod +++ /dev/null @@ -1,3 +0,0 @@ -module 2_ - -go 1.18 diff --git a/amex-2022-10-20/3_/db.db b/amex-2022-10-20/3_/db.db deleted file mode 100644 index e52c3d0..0000000 Binary files a/amex-2022-10-20/3_/db.db and /dev/null differ diff --git a/amex-2022-10-20/3_/mvp.sh b/amex-2022-10-20/3_/mvp.sh deleted file mode 100644 index 71c7512..0000000 --- a/amex-2022-10-20/3_/mvp.sh +++ /dev/null @@ -1,31 +0,0 @@ -#! /bin/bash - -main() { - set -e - set -o pipefail - - local bin=../0_setup/0_setup - local cmds=( - 'DROP TABLE IF EXISTS events' - ' - CREATE TABLE events ( - sensor_id integer not null, - event_type integer not null - ); - ' - 'INSERT INTO events VALUES (2, 2)' - 'INSERT INTO events VALUES (2, 4)' - 'INSERT INTO events VALUES (2, 2)' - 'INSERT INTO events VALUES (3, 2)' - 'INSERT INTO events VALUES (2, 3)' - "$@" - ) - - for cmd in "${cmds[@]}"; do - echo ================= - $bin -q "$cmd" - echo - done -} - -main "$@" diff --git a/amex-2022-10-20/4_/go.mod b/amex-2022-10-20/4_/go.mod deleted file mode 100644 index 5dd14ea..0000000 --- a/amex-2022-10-20/4_/go.mod +++ /dev/null @@ -1,3 +0,0 @@ -module 4_ - -go 1.18 diff --git a/amex-2022-10-20/Test Summary - Codility.pdf b/amex-2022-10-20/Test Summary - Codility.pdf deleted file mode 100644 index 2d14afa..0000000 Binary files a/amex-2022-10-20/Test Summary - Codility.pdf and /dev/null differ diff --git a/amex-2022-10-20/reflection.txt b/amex-2022-10-20/reflection.txt deleted file mode 100644 index 3c54a9c..0000000 --- a/amex-2022-10-20/reflection.txt +++ /dev/null @@ -1,4 +0,0 @@ -task1: ezpz -task2: that one was like "if you turn on bulbs in order X, Y, Z; then how many seconds are all at+before the current bulb active?" I left a comment explaining "this is probably the google one where you have O(1) space by doing negatives; that'll do". Looks like my performance was bad (as I said in comment n**2). No surprise given it's space efficient. Looks like time complexity is Codility's priority. Surprised I failed 1 of 5 correctness, but that should be fatal. -task3: I LITERALLY DIDNT SORT YET GOT 100% CORRECT that'd disgusting -task4: I missed a multi-choice question. Bullshit. They were so fuckin easy and I bothered to double check. I don't trust proctor here.