<p>Given a <code>date</code> string in the form&nbsp;<code>Day Month Year</code>, where:</p>

<ul>
	<li><code>Day</code>&nbsp;is in the set <code>{&quot;1st&quot;, &quot;2nd&quot;, &quot;3rd&quot;, &quot;4th&quot;, ..., &quot;30th&quot;, &quot;31st&quot;}</code>.</li>
	<li><code>Month</code>&nbsp;is in the set <code>{&quot;Jan&quot;, &quot;Feb&quot;, &quot;Mar&quot;, &quot;Apr&quot;, &quot;May&quot;, &quot;Jun&quot;, &quot;Jul&quot;, &quot;Aug&quot;, &quot;Sep&quot;, &quot;Oct&quot;, &quot;Nov&quot;, &quot;Dec&quot;}</code>.</li>
	<li><code>Year</code>&nbsp;is in the range <code>[1900, 2100]</code>.</li>
</ul>

<p>Convert the date string to the format <code>YYYY-MM-DD</code>, where:</p>

<ul>
	<li><code>YYYY</code> denotes the 4 digit year.</li>
	<li><code>MM</code> denotes the 2 digit month.</li>
	<li><code>DD</code> denotes the 2 digit day.</li>
</ul>

<p>&nbsp;</p>
<p><strong class="example">Example 1:</strong></p>

<pre>
<strong>Input:</strong> date = &quot;20th Oct 2052&quot;
<strong>Output:</strong> &quot;2052-10-20&quot;
</pre>

<p><strong class="example">Example 2:</strong></p>

<pre>
<strong>Input:</strong> date = &quot;6th Jun 1933&quot;
<strong>Output:</strong> &quot;1933-06-06&quot;
</pre>

<p><strong class="example">Example 3:</strong></p>

<pre>
<strong>Input:</strong> date = &quot;26th May 1960&quot;
<strong>Output:</strong> &quot;1960-05-26&quot;
</pre>

<p>&nbsp;</p>
<p><strong>Constraints:</strong></p>

<ul>
	<li>The given dates are guaranteed to be valid, so no error handling is necessary.</li>
</ul>

class Solution {
public:
    string getMonth(string m){
        if(m == "Jan")
            return "01";
        else if(m == "Feb") return "02";
        else if(m == "Mar") return "03";
        else if(m == "Apr") return "04";
        else if(m == "May") return "05";
        else if(m == "Jun") return "06";
        else if(m == "Jul") return "07";
        else if(m == "Aug") return "08";
        else if(m == "Sep") return "09";
        else if(m == "Oct") return "10";
        else if(m == "Nov") return "11";
        return "12";
         
    }
    string reformatDate(string date) {
        int n = date.size();
        stringstream s(date); // Used for breaking words 
        string word; // to store individual words 
string d, m , y;
        int count = 0; 
        while (s >> word){
            if(count == 0){
                d = word;
            }else if(count == 1)
                m = word;
            else y = word;
            count+=1;
        } 
        
        if(n == 13){
           return y+"-"+ getMonth(m)+"-"+d.substr(0,2);
        }
        return y+"-"+getMonth(m)+"-0"+d.substr(0,1);
    }

};
7700