형들 제목을 이렇게 써서 미안해. 나도 코딩 꿈나무야ㅎ
다름이 아니라
백준 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;
}
문제점 지적해주세요 ㅜ
댓글 0