How can I temporary increase the size of an object?

Hello, so I am new to unity and I’m just messing around with code to try and learn.
I have a game object that and I would like to increase it’s size for example 5 seconds and return to the default size again.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour {
    public float speed = 5f;

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {

        if (Input.GetKeyDown("s"))
            transform.localScale = new Vector3(5, 5, 5);
            




    }
}

and after 5 seconds i would like it to return to scale of 1,1,1
How would I do this? I’m guessing i use time.deltatime?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

 public class Player : MonoBehaviour
 {
     public float growDuration = 5;
     private float growTime;
	 private bool grown ;
     
     void Update ()
     {
         if( Input.GetKeyDown( KeyCode.S ) )
         {
             transform.localScale = Vector3.one * 5 ;
             growTime = Time.time;
			 grown = true;
         }
         
         if( grown && Time.time - growTime > growDuration )
         {
             transform.localScale = Vector3.one ;
			 grown = false;
         }
     }
 }

Here is an example using a coroutine


	using UnityEngine;
    using System.Collections;


	public class SizeTimer : MonoBehaviour
	{
        [SerializeField] float scaleResetTime = 5f;
        bool isScaled;


        void Update()
        {
            if (isScaled == false && Input.GetKeyDown(KeyCode.S))
            {
                transform.localScale = new Vector3(5f, 5f, 5f);
                StartCoroutine(ResetTime(scaleResetTime));
            }
        }


        IEnumerator ResetTime(float wait)
        {
            isScaled = true;

            yield return new WaitForSeconds(wait);

            transform.localScale = Vector3.one;
            isScaled = false;
        }
    }