Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- boj #baekjoon
- 비주얼 스튜디오 #vs #visual studio
- git #unity #깃허브
- flutter #깃
- flutter #git
- VS #비주얼스튜디오
- unity #2d-game #minigame #vscode
- baekjoon #boj #c++
- boj #c++
- Flutter
- boj #baekjoon #c++
- firebase #파이어베이스
- 로컬저장소 #이름변경
- flutter #플러터
- #유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과정
- 백준 #c++
- flutter #상태관리
- flutter #firebase #플러터 #파이어베이스 #연동
- flutter #app #취준
- 백준
- 백준 #boj #baekjoon
- 비주얼스튜디오 #코드스니펫
- unity #2d-game
- baekjoon #백준 #boj
- 백준 #boj
- 유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과
- flutter #플러터 #분석
- 인턴 #프론트엔드 #개발자 #프론트엔드개발자 #취준
- flutter #todolist
- 플러터 #flutter #restful #rest api
Archives
- Today
- Total
cococo-coding
[C++ 풀이] 1924번 & 2948번 본문
1924번과 2948번 모두 월과 일을 입력받아 무슨 요일인지 출력하는 문제이다.
해결 알고리즘이 동일하기 때문에 하나의 글로 묶어 써보려고 한다.
문제 분석
x월 y일을 입력받아 해당일이 어떤 요일인지 출력한다.
월-> 일수로 변환하고, 입력받은 일(y)까지 더해서 요일을 구하려고 한다.
알고리즘 설계
각 월의 일수를 넣은 int형 배열을 선언해주고,
요일을 넣은 string형 배열도 만들어준다.
최종적으로 구할 totalday변수는 0으로 초기화해준다.
월의 일수를 담은 배열에서 입력받은 월까지의 일수를 totalday에 더해준다.
그리고 입력받은 y일을 totalday에 더한다.
totalday를 7로 나누어 day배열에 맞춘 요일을 출력한다.
코드
1) 2948번
#include <iostream>
using namespace std;
int main() {
int mday[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
string day[7] = { "Wednesday", "Thursday", "Friday", "Saturday", "Sunday","Monday", "Tuesday" };
int totalday = 0;
//m월 d일
int m, d;
cin >> d>>m;
//최종데이에 월을 변환해서 더해줌
for (int i = 0; i < (m - 1); i++) {
totalday += mday[i];
}
//최종데이에 y일을 더함
totalday += d;
cout << day[totalday % 7] << '\n';
return 0;
}
2) 1924번
#include <iostream>
using namespace std;
int main() {
int mday[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
string day[7] = { "SUN", "MON", "TUE", "WED", "THU","FRI","SAT" };
int totalday = 0;
//x월 y일
int x, y;
cin >> x >> y;
//최종데이에 월을 변환해서 더해줌
for (int i = 0; i < (x - 1); i++) {
totalday += mday[i];
}
//최종데이에 y일을 더함
totalday += y;
cout <<day[totalday % 7] << '\n';
return 0;
}
느낀 점
어렵게 생각하니 더 어려웠던 문제들..
어차피 1월1일부터 12월 마지막일까지 요일은 반복되므로, 해당 월만 반복해서 더해주면 되는 문제였다.
배열을 이용해 요일을 구하는 방법도
'[BOJ] 코드 모음 > C++_learning 문제집' 카테고리의 다른 글
[C++ 풀이] 5218번. 알파벳 거 (0) | 2024.01.24 |
---|---|
[C++ 풀이] 11365번. !밀비 급일 (0) | 2024.01.24 |
[C++ 풀이] 10992번. 별 찍기 - 17 (0) | 2024.01.23 |
[C++ 풀이] 9243번. 파일 완전 삭제 (0) | 2024.01.23 |
[C++ 풀이] 1871번. 좋은 자동차 번호판 (2) | 2024.01.23 |