형들 제목을 이렇게 써서 미안해. 나도 코딩 꿈나무야ㅎ

다름이 아니라 

백준 2007년 문제라고 1월1일 월요일 기준으로 날짜넣으면 나오는 문제인데 


인터넷 소스랑 내가 짠 코드랑 스위치문 밑쪽으로 미묘하게 틀린데 소스는 맞다고 나오고 내가 짠건 틀렸다고 나와.

비쥬얼스튜디오로 내가 짠거 돌렸을때 결과 아무 문제없이 나오는데 왜 틀리다고 나오는지 모르겠어 좀 봐줘 ㅜ


소스


#include <iostream>

#include <string>

using namespace std;


int main(){

int mon, day;

cin >> mon >> day;

int sum = 0;

for (int i = 1; i < mon; i++){

if (i == 1 || i == 3 || i == 5 ||

i == 7 || i == 8 || i == 10 || i == 12 ){

sum += 31;

}

else if (i == 2){

sum += 28;

}

else{

sum += 30;

}

}



sum += day;

int num = sum % 7;

string wen;


switch (num){

case 1:

wen = "MON";

break;

case 2:

wen = "TUE";

break;

case 3:

wen = "WED";

break;

case 4:

wen = "THU";

break;

case 5:

wen = "FRI";

break;

case 6:

wen = "SAT";

break;

case 0:

wen = "SUN";

break;

}


cout << wen;


return 0;

}


내가 짠거


#include <iostream>


using namespace std;


int main() {

int x, y;

cin >> x >> y;


int sum = 0;


for (int i = 1; i < x; i++) {

if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) {

sum += 31;

}

else if (i == 4 || i == 6 || i == 9 || i == 11) {

sum += 30;

}

else{

sum += 28;

}

}

sum += y;


int day = sum % 7;

switch (day) {

case 1:

printf("MON \n");

break;

case 2:

printf("TUE \n");

break;

case 3:

printf("WEN \n");

break;

case 4:

printf("THU \n");

break;

case 5:

printf("FRI \n");

break;

case 6:

printf("SAT \n");

break;

case 0:

printf("SUN \n");

break;

}


return 0;

}



문제점 지적해주세요 ㅜ