Fatti:
A.
Con sentenza del 7 dicembre 2017 la Corte delle assise criminali ha riconosciuto A._ autore colpevole, in correità con B._, di infrazione aggravata alla legge sugli stupefacenti, per avere, nel periodo tra l'autunno del 2015 e il 20 dicembre 2016, acquistato, importato dall'Olanda alla Svizzera, trasportato, detenuto, alienato, procurato in altro modo ad altri e messo in commercio "un imprecisato quantitativo di cocaina, ma almeno 1 Kg". L'imputato è inoltre stato riconosciuto autore colpevole, sempre in correità con B._, di riciclaggio di denaro, per avere, tra la fine del 2015 e il 20 dicembre 2016, compiuto atti suscettibili di vanificare l'accertamento dell'origine, il ritrovamento e la confisca di fr. 150'000.--/160'000.--, che sapeva, o doveva presumere, provenire dalla suddetta infrazione aggravata alla legge sugli stupefacenti, cambiando tale importo in euro e trasferendolo poi personalmente in Olanda. A._ è pure stato riconosciuto autore colpevole di infrazione alla legge sulle armi e di contravvenzione alla legge sugli stupefacenti: la pronuncia di condanna per questi reati non è contestata. Egli è stato condannato alla pena detentiva di quattro anni, da dedursi il carcere preventivo sofferto, e al pagamento di una multa di fr. 100.--.
B.
A._ ha impugnato dinanzi alla Corte di appello e di revisione penale (CARP) i dispositivi della sentenza di primo grado concernenti la dichiarazione di colpevolezza per i reati di infrazione aggravata alla legge sugli stupefacenti e di riciclaggio di denaro, nonché il dispositivo sulla commisurazione della pena. Con sentenza del 31 luglio 2018 la CARP ha parzialmente accolto l'appello, limitatamente alla formulazione del dispositivo relativo alla condanna per infrazione aggravata alla LStup, correggendolo nel senso che all'imputato è stato addebitato il traffico di "almeno 1 Kg di cocaina".
C.
A._ impugna questa sentenza con un ricorso in materia penale del 17 settembre 2018 al Tribunale federale, chiedendo in via principale di riformarla nel senso di limitare la condanna per infrazione aggravata alla LStup al periodo tra il mese di aprile del 2016 e il 20 dicembre 2016, di precisare il quantitativo del traffico di stupefacente in "al massimo 1 Kg di cocaina", di essere prosciolto dall'imputazione di riciclaggio di denaro, di ridurre la pena detentiva a tre anni, da espiare nella misura di sei mesi e sospesa condi-zionalmente per la parte rimanente, nonché di porre a carico dello Stato la totalità degli oneri processuali della procedura di appello. In via subordinata, chiede che la sentenza impugnata sia annullata e che gli atti siano rinviati alla Corte cantonale per una nuova decisione nel senso dei considerandi. Il ricorrente fa valere l'accertamento manifestamente inesatto dei fatti e la violazione dell'<ref-law>.
D.
Non sono state chieste osservazioni sul ricorso, ma è stato richiamato l'incarto cantonale.

Diritto:
1.
Presentato dall'imputato, che ha partecipato alla procedura dinanzi alla precedente istanza, le cui conclusioni sono state disattese (art. 81 cpv. 1 lett. a e b n. 1 LTF), e diretto contro una decisione finale (<ref-law>) resa in materia penale (<ref-law>) da un'autorità di ultima istanza cantonale (<ref-law>), il gravame è tempestivo (<ref-law>) e sotto i citati aspetti ammissibile.
2.
2.1. Il ricorrente rimprovera alla CARP di essere caduta in contraddizione per avere, da una parte, accertato correttamente che non v'era sufficiente materiale probatorio per addebitargli il traffico di un quantitativo di cocaina superiore al chilogrammo di stupefacente da lui stesso ammesso e, d'altra parte, indicato nel dispositivo di condanna lo spaccio di "almeno 1 Kg di cocaina". Sostiene che l'avverbio "almeno" lascerebbe intendere ch'egli avrebbe anche potuto spacciare un quantitativo di cocaina superiore al chilogrammo. Secondo il ricorrente, il dispositivo litigioso dovrebbe essere riformulato nel senso che oggetto della condanna per infrazione aggravata alla LStup è un traffico di "al massimo 1 Kg di cocaina".
2.2. La determinazione del quantitativo di stupefacente addebitato al ricorrente concerne l'accertamento dei fatti. Essi sono di principio vincolanti per il Tribunale federale, tranne quando sono stati accertati in modo manifestamente inesatto, vale a dire arbitrario (<ref-ruling> consid. 2.2; <ref-ruling> consid. 1.3.1), o in violazione del diritto (cfr. art. 105 cpv. 1 e <ref-law>). Il ricorrente può quindi censurare l'arbitrio nell'accertamento dei fatti e nella valutazione delle prove, ma deve motivare la censura in modo chiaro e preciso, conformemente alle esigenze poste dall'<ref-law> (<ref-ruling> consid. 1.1; <ref-ruling> consid. 2.4). Per motivare l'arbitrio non basta criticare semplicemente la decisione impugnata contrapponendole una versione propria, ma occorre dimostrare per quale motivo l'accertamento dei fatti o la valutazione delle prove sono manifestamente insostenibili, si trovano in chiaro contrasto con la fattispecie, si fondano su una svista manifesta o contraddicono in modo urtante il sentimento della giustizia e dell'equità (<ref-ruling> consid. 2.3.1 e rinvii; <ref-ruling> consid. 3.1, 8 consid. 2.1).
2.3. La prima Corte, pur rilevando l'assenza di sufficienti elementi per accertare il traffico di un quantitativo di stupefacente superiore a quello ammesso dal ricorrente, pari a 1 Kg di cocaina, ha ritenuto nei considerandi del suo giudizio che il quantitativo trafficato era "indeterminato, ma certamente superiore a 1 Kg". Nel corrispondente dispositivo di colpevolezza, il ricorrente è stato condannato per infrazione aggravata alla LStup, per avere trafficato "un imprecisato quantitativo di cocaina, ma almeno 1 Kg".
Nella sentenza di appello, la Corte cantonale ha rilevato che, sulla scorta della valutazione del materiale probatorio eseguita dai primi giudici, l'unica conclusione possibile era quella secondo cui il quantitativo trafficato era di 1 Kg. Ha osservato che, certo, il dispositivo parlava di "almeno 1 Kg" di stupefacente, ma che tale precisazione era in relazione con l'espressione di "un imprecisato quantitativo di cocaina", lasciando trasparire la convinzione dei primi giudici, esposta improvvidamente nei considerandi della loro sentenza, secondo cui il quantitativo trafficato era superiore al chilogrammo. La CARP ha quindi corretto la formulazione del dispositivo, limitando l'addebito al traffico di "almeno 1 Kg di cocaina".
2.4. Il ricorrente sostiene che il dispositivo dovrebbe essere riformulato nel senso che la condanna per infrazione aggravata alla LStup riguarda "al massimo 1 Kg di cocaina". Come rilevato dalla Corte cantonale, l'accertamento relativo al quantitativo di sostanza stupefacente spacciata è fondato sull'ammissione del ricorrente medesimo al dibattimento di primo grado. In quella sede, egli ha riconosciuto l'importazione dall'Olanda di circa 1 Kg di cocaina, non di un quantitativo possibilmente inferiore. Non risulta, né il ricorrente lo sostiene, ch'egli abbia avuto dubbi o esitazioni su tale entità. Sulla base delle sue dichiarazioni, sostanzialmente confermate dalle chiamate di correo, i precedenti giudici hanno quindi rilevato in modo sostenibile che il traffico riguardava certamente 1 Kg di stupefacente. In tale circostanza, non entrando seriamente in considerazione un quantitativo inferiore al chilogrammo, l'accertamento secondo cui il ricorrente ha trafficato "almeno 1 Kg di cocaina" non è in chiara contraddizione con gli atti e non è pertanto arbitrario. Non v'è pertanto motivo per rivenire sulla formulazione del dispositivo impugnato, che riprende tale accertamento.
3.
3.1. Il ricorrente critica l'accertamento della Corte cantonale, che ha situato l'inizio del traffico di cocaina nell'autunno del 2015. Sostiene che l'attività incriminata sarebbe stata avviata soltanto a partire dal mese di aprile del 2016.
3.2. Secondo l'<ref-law>, il ricorrente può censurare l'accertamento dei fatti soltanto se è stato svolto in modo manifestamente inesatto o in violazione del diritto ai sensi dell'<ref-law> e l'eliminazione del vizio può essere determinante per l'esito del procedimento. Occorre al proposito rendere verosimile che il difetto sarebbe suscettibile di avere un'influenza sul risultato della procedura, vale a dire che la decisione sarebbe stata diversa se i fatti fossero stati accertati conformemente al diritto (<ref-ruling> consid. 3.4).
3.3. Come visto, il ricorrente è stato condannato per il traffico di 1 Kg di cocaina, ciò che realizza chiaramente gli estremi di un'infrazione aggravata giusta l'<ref-law>. Tale quantitativo è stato da lui esplicitamente riconosciuto al processo ed è in concreto determinante per il giudizio di condanna. Il ricorrente non rende minimamente verosimile che la presa in considerazione di un periodo di commissione del reato più breve muterebbe l'esito del procedimento penale. Un lasso di tempo ridotto non modificherebbe infatti l'accertamento relativo al quantitativo di stupefacente spacciato, rilevante sotto il profilo della decisione di colpevolezza per l'infrazione aggravata alla LStup. A maggiore ragione, ove si consideri che, al dire del ricorrente medesimo in questa sede, l'intero chilogrammo di cocaina sarebbe stato importato in Svizzera dopo l'aprile del 2016.
Comunque, l'accertamento secondo cui il traffico di cocaina ha preso inizio nell'autunno del 2015 è sostenibile sulla scorta del contenuto della telefonata del 16 ottobre 2016 in cui il ricorrente affermava di operare con il correo da "quasi un anno". Al riguardo, il ricorrente si limita ad esporre in modo appellatorio la propria versione dei fatti, senza sostanziare l'arbitrarietà del criticato accertamento. Disattende inoltre che i giudici cantonali hanno ritenuto l'accertamento avvalorato dal fatto che i primi prelevamenti con cambio di valuta da parte del correo sono avvenuti nel mese di dicembre del 2015. Non censurato d'arbitrio con una motivazione conforme all'<ref-law>, l'accertamento relativo alla collocazione dell'inizio del traffico di cocaina nell'autunno del 2015 non deve essere vagliato oltre.
4.
4.1. Quanto all'imputazione di riciclaggio di denaro, la Corte cantonale ha ritenuto che la valutazione del materiale probatorio da parte dei primi giudici non prestasse il fianco a critiche ed ha quindi rinviato alla motivazione esposta in particolare da pag. 37 a 48 della sentenza della Corte delle assise criminali.
4.2. Nemmeno in questa sede il ricorrente si confronta puntualmente con i considerandi del giudizio di primo grado richiamati dalla CARP, concernenti le numerose operazioni di cambio e di trasporto del denaro in Olanda. Egli si limita essenzialmente a riportare stralci di verbali d'interrogatorio del coimputato, adducendo che quest'ultimo avrebbe svolto un'attività autonoma di cambio. In tal modo espone un suo diverso parere, senza però considerare l'insieme degli elementi presi in considerazione dai giudici cantonali e senza sostanziare una valutazione arbitraria degli stessi. Il ricorrente disattende inoltre che delle operazioni di prelevamento e di cambio vi sono riscontri documentali concreti agli atti. Omette altresì di considerare l'accertamento secondo cui nessuno degli imputati disponeva singolarmente di redditi da attività legali tali da giustificare simili movimentazioni di denaro. Il ricorrente non si confronta specificatamente con questi elementi con una motivazione conforme alle esigenze dell'<ref-law>, sicché la censura non deve essere esaminata ulteriormente.
5.
5.1. Il ricorrente contesta infine la commisurazione della pena. Richiamando la sentenza 6B_1206/2017 del 26 aprile 2018 sostiene che sarebbero già state inflitte pene detentive inferiori a quattro anni per traffici di cocaina concernenti quantitativi più ingenti di quello qui in discussione. Adduce che la pena dovrebbe essere ridotta in considerazione del proscioglimento dall'imputazione di riciclaggio di denaro e della condanna per infrazione aggravata alla LStup per un periodo più breve. Rimprovera alla Corte cantonale di non avere tenuto conto del fatto che, dopo la fine della carcerazione preventiva, egli non ha più commesso reati ed ha ripreso a lavorare per sostenere la propria famiglia. Postula poi una diminuzione significativa della pena allo scopo di favorire il suo reinserimento sociale e professionale.
5.2. Giusta l'<ref-law>, il giudice commisura la pena alla colpa dell'autore. Tiene conto della vita anteriore e delle condizioni personali dell'autore, nonché dell'effetto che la pena avrà sulla sua vita (cpv. 1); la colpa è determinata secondo il grado di lesione o esposizione a pericolo del bene giuridico offeso, secondo la riprensibilità dell'offesa, i moventi e gli obiettivi perseguiti, nonché, tenuto conto delle circostanze interne ed esterne, secondo la possibilità che l'autore aveva di evitare l'esposizione a pericolo o la lesione (cpv. 2).
Questa norma conferisce al giudice un ampio potere di apprezzamento. Il Tribunale federale interviene solo quando il giudice cantonale cade nell'eccesso o nell'abuso del potere di apprezzamento, ossia laddove la pena esca dal quadro legale, sia valutata in base a elementi estranei all'<ref-law>, oppure appaia eccessivamente severa o clemente (<ref-ruling> consid. 5.6 pag. 61; <ref-ruling> consid. 5.3.1).
5.3. In concreto il ricorrente non sostiene che la pena inflitta eccede i limiti del quadro legale o che i precedenti giudici si sono fondati su criteri privi di pertinenza. Postulando una riduzione della pena per il fatto che non avrebbe commesso il reato di riciclaggio di denaro e che l'infrazione aggravata alla LStup sarebbe stata commessa su un periodo più breve, egli si scosta dal giudizio di condanna, che come esposto deve essere confermato in questa sede. Laddove richiama la fattispecie oggetto della sentenza 6B_1206/2017 del 26 aprile 2018, che sarebbe stata sanzionata con una pena meno severa malgrado il traffico di un quantitativo maggiore di cocaina, il ricorrente omette di considerare che la sua condanna non concerne soltanto il reato di infrazione aggravata alla LStup, bensì anche quelli di riciclaggio di denaro, di infrazione alla legge sulle armi e di contravvenzione alla LStup. D'altra parte, il solo quantitativo di stupefacente trafficato non costituisce il criterio preponderante nella determinazione della colpa (<ref-ruling> consid. 2b/aa, 202 consid. 2d/cc). In concreto, la CARP ha considerato grave la colpa del ricorrente e non ha ravvisato circostanze attenuanti, in particolare ha rilevato ch'egli non aveva dimostrato collaborazione. Nel caso della citata sentenza 6B_1206/2017, la colpa dell'imputato è per contro stata ritenuta di media gravità; è inoltre stata considerata favorevolmente la collaborazione globale dell'imputato con gli inquirenti sin dall'inizio. Il ricorrente trascura poi che, sempre in quel giudizio, la pena era stata attenuata sia in applicazione dell'art. 48 lett. e CP sia tenendo conto in modo rilevante della violazione del principio della celerità. Questi due fattori di riduzione della pena non entrano in considerazione nel caso del ricorrente. Al riguardo, deve inoltre essere precisato che, nell'ambito della commisurazione della pena, un confronto con altri casi è di principio problematico, visti i numerosi parametri che entrano in considerazione. Una certa disparità di trattamento in questa materia è normalmente riconducibile al principio dell'individualizzazione delle pene, voluto dal legislatore, e non è di per sé sufficiente per riconoscere un abuso del potere di apprezzamento (<ref-ruling> consid. 6.3.2 e rinvii).
Invocando il criterio dell'effetto che la pena avrà sulla sua vita (cfr. <ref-law>), il ricorrente sostiene di esercitare attualmente un'attività lavorativa e di essere integrato nella famiglia e nella società. Ritiene che in tale circostanza, l'applicazione di una pena detentiva da espiare potrebbe compromettere il suo definitivo reinserimento sociale e professionale. La Corte cantonale non ha trascurato questa censura ed ha riconosciuto ch'egli esercita ora un'attività lucrativa. Conformemente alla giurisprudenza, la CARP ha tuttavia precisato che questo criterio di prevenzione speciale permette soltanto di effettuare correzioni marginali della pena, la quale deve in ogni caso rimanere proporzionata alla colpa (cfr. sentenze 6B_1154/2014 del 31 maggio 2016 consid. 3.1 e 6B_14/2007 del 17 aprile 2007 consid. 5.2). A ragione ha quindi concluso che, alla luce dell'entità della pena ritenuta adeguata alla colpa del ricorrente, tale criterio non consentirebbe comunque di avvicinarsi ai limiti di una pena suscettibile di essere sospesa condizionalmente.
6.
Ne segue che il ricorso deve essere respinto nella misura della sua ammissibilità. Le spese giudiziarie seguono la soccombenza e sono quindi poste a carico del ricorrente (<ref-law>).

Per questi motivi, il Tribunale federale pronuncia:
1.
Nella misura in cui è ammissibile, il ricorso è respinto.
2.
Le spese giudiziarie di fr. 3'000.-- sono poste a carico del ricorrente.
3.
Comunicazione al patrocinatore del ricorrente, al Ministero pubblico e alla Corte di appello e di revisione penale del Cantone Ticino.