C++/Baekjoon
백준 1924
그레고리
2022. 2. 9. 22:56
728x90
1924
조건문으로 해도 상관없었지만 문자열 배열을 통해 구현하고 싶었다.
문자열 배열 생성하는 방법을 몇가지 정리해 보자.
1. std::array
표준 라이브러리 소속
vector는 <vector> 헤더 파일을 include 해야한다.
std 네임스페이스 안에 들어있다.
std::array<string,4> str_arr = {"a", "b", "c", "d"};
2. string arr[]
string 클래스가 string 헤더파일 안에 있다. <string> 헤더파일을 include 해야한다.
std 네임스페이스 안에 들어있다.
#include <string>
std::string str_arr[4] = {"a", "b", "c", "d"};
3. char arr[][]
char str_arr[4][20] = {"a", "b", "c", "d"};
4. std::vector
표준 라이브러리 소속
vector는 <vector> 헤더 파일을 include 해야한다.
std 네임스페이스 안에 들어있다.
#include <vector>
std::vector<string> str_arr = {"a", "b", "c", "d"};
+ vector, string 같은 경우, <vector>, <string> 헤더 파일을 include 하지 않고
using namespace std; 만 선언해도 사용이 가능하긴하다.
제출한 코드
#include <iostream>
#include <array>
using namespace std;
int CalcTotalDays(int month, int day, int* monthTotalDays);
int main(){
array<string,7> day_arr = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
int monthTotalDays[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
int month,day;
int totalDays;
cin >> month >> day;
totalDays = CalcTotalDays(month, day, monthTotalDays);
// 요일 계산
cout << day_arr[(totalDays%7)];
}
int CalcTotalDays(int month, int day, int* monthTotalDays){ // 1/1일부터 month/day까지의 날짜 수 계산
int totalDays = 0;
for(int i=0;i<month-1;i++){
totalDays += monthTotalDays[i];
}
totalDays += day;
return totalDays;
}
728x90