Pyth, 13 karakter
Catatan: Pyth terlalu baru untuk dapat menang. Namun, itu adalah golf yang menyenangkan dan saya pikir saya akan membagikannya.
VQ<*QX*d2N\XQ
Coba di sini.
Bagaimana itu bekerja:
Q = eval(input())
VQ for N in range(Q):
< Q [:Q]
*Q (Q* )
X*d2N\X assign_at(" "*2, N, "X")
Pada dasarnya, ini digunakan Xuntuk menghasilkan "X "atau secara " X"bergantian, kemudian mengulangi string itu Qkali, dan mengambil Qkarakter pertamanya . Ini berulang Qkali.
Bagaimana cara fungsi X(assign at) bekerja? Dibutuhkan string asli, " "dalam hal ini, lokasi tugas, Ndalam hal ini, dan karakter pengganti, "X"dalam kasus ini. Karena penugasan Pyth adalah modular, ini menggantikan ruang di lokasi N%2dengan X, dan mengembalikan string yang dihasilkan, yang karenanya "X "pada baris pertama, ketiga, dll., Dan " X"yang lain.