C++
씹어먹는 C++ - <4 - 1. 이 세상은 객체로 이루어져 있다>
생각 해볼 문제(modoocode C++) 문제 1 여러분은 아래와 같은 Date 클래스를 디자인 하려고 합니다. SetDate 는 말그대로 Date 함수 내부를 초기화 하는 것이고 AddDay, AddMonth, AddYear 는 일, 월, 년을 원하는 만큼 더하게 됩니다. 한 가지 주의할 점은 만일 2012 년 2 월 28 일에 3 일을 더하면 2012 년 2 월 31 일이 되는 것이 아니라 2012 년 3 월 2 일이 되겠지요? (난이도 : 上) class Date { int year_; int month_; // 1 부터 12 까지. int day_; // 1 부터 31 까지. public: void SetDate(int year, int month, int date); void AddDay(in..
2752번: 세수정렬
2752번: 세수정렬(BOJ C/C++) 사용 언어: C++ 문제 동규는 세수를 하다가 정렬이 하고싶어졌다. 숫자 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어 졌다. 숫자 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오. 입력 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. 출력 제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다. 첫 번째 풀이 그냥 버블정렬과도 같고 풀이들 중 시간복잡도가 가장 긴 O(n^2) 이다. 물론 지금은 배열의 크기가 작아서 상관없지만 크기가 커지만 이 풀이는 지양적이다. #include using namespace std; int ar..
2443번: 별 찍기 - 6
2443번: 별 찍기 - 6(BOJ C/C++) 사용 언어: C++ 문제 첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 풀이 설명할 문제가 아니므로 패스. #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); int N; cin >> N; for(int i = N; i >= 1; i--) { for(int j = 1; j
10808번: 알파벳 개수
10808번: 알파벳 개수(BOJ C/C++) 사용 언어: C++ 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. 풀이에 앞서 설명 일단 c++로 처음 올리는 PS인데, 코드에 앞서 단순 설명을 하자면 ios::sync_with_stdio(false); //0 cin.tie(NULL); //0 cout.tie(NULL); //0 위의 세 문장은 PS를 할때 cin과 cout을 쓸때 발생할 수 있는 시간초과 문제 때문에 넣..