if – Média de 4 (JAVASCRIPT) – Media ponderada

Boa tarde!

Estou tendo dificuldades em resolver um problema de Média Ponderada em Javascript.

Eu preciso ler 4 notas com pesos de 2, 3, 4 e 1, respectivamente, para cada uma destas notas e devo mostrar esta média acompanhada pela mensagem “Media: “. Se esta média for maior ou igual a 7.0, imprima a mensagem “Aluno aprovado.”. Se a média calculada for inferior a 5.0, imprima a mensagem “Aluno reprovado.”. Se a média calculada for um valor entre 5.0 e 6.9, inclusive estas, o programa deve imprimir a mensagem “Aluno em exame.”.

No caso do aluno estar em exame, leia um valor correspondente à nota do exame obtida pelo aluno. Imprima então a mensagem “Nota do exame: ” acompanhada pela nota digitada. Recalcule a média (some a pontuação do exame com a média anteriormente calculada e divida por 2). e imprima a mensagem “Aluno aprovado.” (caso a média final seja 5.0 ou mais ) ou “Aluno reprovado.”, (caso a média tenha ficado 4.9 ou menos). Para estes dois casos (aprovado ou reprovado após ter pego exame) apresente na última linha uma mensagem “Media final: ” seguido da média final para esse aluno.

Entradas: 2.0, 4.0, 7.5, 8.0 

3.4 (Nota do Exame) 
Saída:
Media: 5.4
Aluno em exame.
Nota do exame: 6.4
Aluno aprovado.
Media final: 5.9

Esse é o meu código até então:

let data = input.split(' ')
let exame = input.split('n')


let N1 = parseFloat(data.shift());
let N2 = parseFloat(data.shift());
let N3 = parseFloat(data.shift());
let N4 = parseFloat(data.shift());
let notaExame = parseFloat(exame.shift())


let media = ((N1*2)+(N2*3)+(N3*4)+(N4*1))/10;
let mediaFinal = (parseFloat(exame) + parseFloat(media))/2

console.log("Media: " + media.toFixed(1))

if (media >= 7.0){
    console.log('Aluno aprovado.')
}else if (media.toFixed(1) >=5.0 && media.toFixed(1) <= 6.9){
    console.log('Aluno em exame.')
    console.log("Nota do exame: " + exame)
} else {
    console.log('Aluno Reprovado')
}
if (mediaFinal <= 4.9){
    console.log('Aluno reprovado.')
    console.log('Media final: ' + mediaFinal.toFixed(1))
} else {
    console.log('Aluno aprovado.')
    console.log('Media final: ' + mediaFinal.toFixed(1))
}

O meu principal problema, é que quando o resultado é superior a 5.0 ou 7.0, onde o aluno é automaticamente aprovado ou reprovado, a saída está sendo essa:

Media: 7.3
Aluno aprovado.
Aluno aprovado.
Media final: 5.3

O ideal é que a saída seja essa:

Media: 7.3
Aluno aprovado.

Alguém pode me ajudar a organizar meu código dessa maneira?

Obrigado 🙂