An X-ray computed tomography (CT) image including metallic objects suffers from annoying metal artifacts such as shades and streaks. In this paper, we propose a novel algorithm for reducing metal artifacts via a reprojectionreconstruction process. In the proposed algorithm, we first reconstruct a CT image from the original projection data. We then remove metallic object regions and replace them with the value of soft-tissue; apply total-variation-based smoothing to the image in order to reduce streak artifacts while preserving the shapes of non-metallic objects; and obtain the reprojection data of the smoothened image. Even though the reprojection data do not contain metallic objects, remaining shade artifacts (especially in the regions between metal objects) still affect the reprojection data. Those artifacts are found to be mainly concentrated in overlapping regions of metal-traces in the reprojection data. Hence, we horizontally interpolate the overlapping region with intensity values of its boundary pixels. We then replace whole metal trace regions in the original projection data with the processed reprojection data. The completed projection data are then used for the reconstruction of the final image. The proposed algorithm can reduce streak and shade artifacts while preserving the shape of non-metallic objects. It is proved that the proposed algorithm provides noticeably better performance in metal artifact reduction compared with the algorithms based on linear interpolation and the model image reprojection.