4 added 53 characters in body
source | link

Jelly, 9 8 bytes

-1 byte thanks to @Dennis (use mould, , in place of length, L, and repeat, x)

j”(³”)ṁṖ

TryItOnline

How?

j”(³”)ṁṖ - Main link: s     e.g. "code-golf"           printed output:
j        - join s with
 ”(      - literal '('           "c(o(d(e(-(g(o(l(f"
    ”)   - literal ')'
      ṁ  - mould like
   ³     - first input, s        ")))))))))"
         - popcauses (z[:-1])print with no newline of z:     "))))))))"     c(o(d(e(-(g(o(l(f
        - pop (z[:-1]) (actually underneath we now have two separate lists of chars")
 )))))))"            c(o(d(e(-(g(o(l(f
         - implicit print          ["c(o(d(e(-(g(o(l(f","))))))))"]
          - implicit print        c(o(d(e(-(g(o(l(f))))))))

Jelly, 9 8 bytes

-1 byte thanks to @Dennis (use mould, , in place of length, L, and repeat, x)

j”(³”)ṁṖ

TryItOnline

How?

j”(³”)ṁṖ - Main link: s     e.g. "code-golf"
j        - join s with
 ”(      - literal '('           "c(o(d(e(-(g(o(l(f"
    ”)   - literal ')'
      ṁ  - mould like
   ³     - first input, s        ")))))))))"
        - pop (z[:-1])          "))))))))"     
          - (actually underneath we now have two separate lists of chars)
                                  ["c(o(d(e(-(g(o(l(f","))))))))"]
          - implicit print        c(o(d(e(-(g(o(l(f))))))))

Jelly, 9 8 bytes

-1 byte thanks to @Dennis (use mould, , in place of length, L, and repeat, x)

j”(³”)ṁṖ

TryItOnline

How?

j”(³”)ṁṖ - Main link: s     e.g. "code-golf"           printed output:
j        - join s with
 ”(      - literal '('           "c(o(d(e(-(g(o(l(f"
    ”)   - literal ')'
      ṁ  - mould like
   ³     - first input, s        ")))))))))"
         - causes print with no newline of z:          c(o(d(e(-(g(o(l(f
        - pop (z[:-1])          "))))))))"            c(o(d(e(-(g(o(l(f
         - implicit print                              c(o(d(e(-(g(o(l(f))))))))
3 added 65 characters in body
source | link

Jelly, 9 9 8 bytes

-1 byte thanks to @Dennis (use mould, , in place of length, L, and repeat, x)

j”(³L”³”)xṖṁṖ

TryItOnlineTryItOnline

How?

j”(³L”³”)xṖṁṖ - Main link: s     e.g. "code-golf"
j         - join s with
 ”(       - literal '('           "c(o(d(e(-(g(o(l(f"
       x  - repeat
     ”)   - literal ')'
   ³      - first input,mould slike
    L³     - length      first input, s        ")))))))))"
        Ṗ - pop (z[:-1])          "))))))))"     
          - (actually underneath we now have two separate lists of chars)
                                  ["c(o(d(e(-(g(o(l(f","))))))))"]
          - implicit print        c(o(d(e(-(g(o(l(f))))))))

Jelly, 9 bytes

j”(³L”)xṖ

TryItOnline

How?

j”(³L”)xṖ - Main link: s     e.g. "code-golf"
j         - join s with
 ”(       - literal '('           "c(o(d(e(-(g(o(l(f"
       x  - repeat
     ”)   - literal ')'
   ³      - first input, s
    L     - length                ")))))))))"
        Ṗ - pop (z[:-1])          "))))))))"     
          - (actually underneath we now have two separate lists of chars)
                                  ["c(o(d(e(-(g(o(l(f","))))))))"]
          - implicit print        c(o(d(e(-(g(o(l(f))))))))

Jelly, 9 8 bytes

-1 byte thanks to @Dennis (use mould, , in place of length, L, and repeat, x)

j”(³”)ṁṖ

TryItOnline

How?

j”(³”)ṁṖ - Main link: s     e.g. "code-golf"
j        - join s with
 ”(      - literal '('           "c(o(d(e(-(g(o(l(f"
    ”)   - literal ')'
        - mould like
   ³     - first input, s        ")))))))))"
       Ṗ - pop (z[:-1])          "))))))))"     
          - (actually underneath we now have two separate lists of chars)
                                  ["c(o(d(e(-(g(o(l(f","))))))))"]
          - implicit print        c(o(d(e(-(g(o(l(f))))))))
2 added 559 characters in body
source | link

Jelly, 9 bytes

j”(³L”)xṖ

TryItOnline

How?

j”(³L”)xṖ - Main link: s     e.g. "code-golf"
j         - join s with
 ”(       - literal '('           "c(o(d(e(-(g(o(l(f"
       x  - repeat
     ”)   - literal ')'
   ³      - first input, s
    L     - length                ")))))))))"
        Ṗ - pop (z[:-1])          "))))))))"     
          - (actually underneath we now have two separate lists of chars)
                                  ["c(o(d(e(-(g(o(l(f","))))))))"]
          - implicit print        c(o(d(e(-(g(o(l(f))))))))

Jelly, 9 bytes

j”(³L”)xṖ

TryItOnline

Jelly, 9 bytes

j”(³L”)xṖ

TryItOnline

How?

j”(³L”)xṖ - Main link: s     e.g. "code-golf"
j         - join s with
 ”(       - literal '('           "c(o(d(e(-(g(o(l(f"
       x  - repeat
     ”)   - literal ')'
   ³      - first input, s
    L     - length                ")))))))))"
        Ṗ - pop (z[:-1])          "))))))))"     
          - (actually underneath we now have two separate lists of chars)
                                  ["c(o(d(e(-(g(o(l(f","))))))))"]
          - implicit print        c(o(d(e(-(g(o(l(f))))))))
1
source | link