Geboren in Busan als Sohn eines Norwegers und einer Südkoreanerin, wuchs Kim im norwegischen Geilo auf und startete im Dezember 2015 in Lillehammer erstmals im Skilanglauf-Weltcup. Dort belegte er im Skiathlonrennen den 66. Platz. Im Februar 2015 wurde er norwegischer Juniorenmeister im Sprint. Im folgenden Jahr holte er bei den Olympischen Jugend-Winterspielen 2016 in Lillehammer die Silbermedaille im Sprint und jeweils die Goldmedaille im Cross und über 10 km Freistil. Bei den Nordischen Junioren-Skiweltmeisterschaften 2016 in Rasnov gewann er über 10 km klassisch und im Sprint jeweils die Silbermedaille. Zudem wurde er Fünfter über 15 km Freistil. Zu Beginn der Saison 2016/17 errang er bei der Weltcup-Minitour in Lillehammer den 77. Platz. Bei den Winter-Asienspielen 2017 in Sapporo holte er die Bronzemedaille mit der Staffel, die Silbermedaille über 10 km klassisch und die Goldmedaille im Sprint. Im folgenden Jahr lief er bei den Nordischen Junioren-Skiweltmeisterschaften in Goms auf den 18. Platz im Sprint und auf den neunten Rang über 10 km klassisch. Seine besten Platzierungen bei den Olympischen Winterspielen 2018 in Pyeongchang waren der 45. Platz über 15 km Freistil und der 26. Rang zusammen mit Kim Eun-ho im Teamsprint. Im März 2018 holte er mit dem 19. Platz im Sprint in Drammen seine ersten Weltcuppunkte und belegte beim Weltcupfinale in Falun den 75. Platz. Dabei kam er mit Platz 27 im Sprint erneut in die Punkteränge.