본문 바로가기

전체 글991

C++ 131제] 어서와! C++은 처음이지! CHAPTER 11. PROGRAMMING EXERCISE 6. p477 출처 : 반크_반크 20년 백서 참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  #include  using namespace std; class Person { public:    Person(){}    void eat() { cout    void talk() { cout    void run() { cout }; class Professor :public Person { public:    Professor(){}    void teach() { cout }; class TennisPlayer :public Person { public:    TennisPlayer(){}    void playTennis() { cout }; class Businessman :.. 2024. 12. 9.
C++ 130제] 어서와! C++은 처음이지! CHAPTER 11. PROGRAMMING EXERCISE 5. p477 출처 : 반크_반크 20년 백서 참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  #include  using namespace std; class Shape {    int x, y;    string color; public:    //생성자    Shape(int x, int y, string c) :x(x), y(y), color(c) {}    //접근자    int getX() { return x; }    int getY() { return y; }    string getColor() { return color; }    //설정자    void setX(int x) { this->x = x; }    void setY(int y) { this->y = y.. 2024. 12. 9.
C++ 129제] 어서와! C++은 처음이지! CHAPTER 11. PROGRAMMING EXERCISE 4. p476 출처 : 반크_반크 20년 백서 참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  #include  using namespace std; class Person {    string name;    string address;    string tel; public:    //생성자    Person(string n, string add, string t) :name(n), address(add), tel(t) {}    //접근자    string getName() { return name; }    string getAddress() { return address; }    string getTel() { return tel; }    //설정자    void set.. 2024. 12. 9.
C++ 128제] 어서와! C++은 처음이지! CHAPTER 11. PROGRAMMING EXERCISE 3. 2) p476 출처 : 반크_반크 20년 백서 참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  #include  using namespace std; class Employee {    string name;    int salary; public:    Employee(string n, int s) :name(n), salary(s) {}    string getName() { return name; }    int getSalary() { return salary; }    void setName(string name) { this->name = name; }    void setSalary(int salary) { this->salary = salary; }    int com.. 2024. 12. 9.
C++ 127제] 어서와! C++은 처음이지! CHAPTER 11. PROGRAMMING EXERCISE 3. 1) p476 출처 : 반크_반크 20년 백서 참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  #include  using namespace std; class Employee {    string name;    int salary; public:    Employee(string n, int s):name(n), salary(s) {}    string getName() { return name; }    int getSalary() { return salary; }    void setName(string name) { this->name = name; }    void setSalary(int salary) { this->salary = salary; }    int comp.. 2024. 12. 8.
C언어 197제] C언어 콘서트(개정 3판) CHAPTER 7 mini Project Tic-Tac-Toe 게임 p285 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]컴퓨터와 게이머가 대결하는 프로그램으로 수정하시오. 조건) ▶ 가로줄, 세로줄, 각 대각선이 같은 문자이면 끝내도록 하시오. ▶ 승부가 나지 않으면 "게이머와 컴퓨터는 비겼습니다."를 출력하시오. ▶ 그외 참고풀이 결과를 참조하여 프로그램을 완성하시오.참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  #include  //srand(), rand() #include  //time() int main() {     char board[3][3]={ '\0' };     int r, c, y, x;//행열변수     int k, i;     int pn, cn;//게이머 또는 컴퓨터의 같은 문자 개수 체크 변수  .. 2024. 12. 7.
C언어 196제] 2006년 ICPC 뉴질랜드 NZPC B번 팰린드롬수 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다. 수도 팰린드롬으로 취급할 수 있다. 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다. 121, 12421 등은 팰린드롬수다. 123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다. 또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 하자. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며,.. 2024. 12. 4.
백트래킹(Backtracking, 되추적) 모든 경우의 수를 전부 고려하는 알고리즘. 상태공간을 트리로 나타낼 수 있을 때 적합한 방식이다. 일종의 트리 탐색 알고리즘 방식으로 깊이우선탐색(Depth First Search, DFS)과 너비우선탐색(Breadth First Search, BFS), 최선 우선 탐색(Best First Search/Heuristic Search)이 있다. 모든 경우의 수를 고려해야 하는 문제라면 일반적으로 DFS가 편리하다. 그러나 DFS를 절대 쓰면 안 되는 경우가 있는데, 트리의 깊이가 무한대가 될 때이다. 미로찾기에서 루프(회로)가 발생하는 경우, DFS는 이 가지를 탈출할 수 없게 된다. 물론 중복검사를 막기 위한 장치를 넣을 수도 있지만, 그럴 바에는 BFS가 편하다. 또 분기점 없이 길이만 죽어라 긴 길이.. 2024. 12. 3.
C++ 126제] 어서와! C++은 처음이지! CHAPTER 11. PROGRAMMING EXERCISE 1. p475 2) p475 출처 : 반크_반크 20년 백서 ● + 연산자를 중복 정의하여서 다음과 같은 연산이 가능하도록 하라. 참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  using namespace std; class Point {    int x, y; public:    Point(int px = 0, int py = 0)    {       x = px; y = py;    } //생성자 함수    int getX() { return x; } //접근자    int getY() { return y; }    void setX(int px) { x = px; } //설정자    void setY(int py) { y = py; }    ~Point() {} //소멸자 함수 }; cla.. 2024. 12. 2.
C언어 195제] 2004년 한국정보올림피아드 지역본선 중등/고등부 1번 최대공약수와 최소공배수 출처 : 반크_백제역사 유적지구와 이스탐블 역사지구 문제]두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. 예제 입력 1  24 18 예제 출력 1  6 72 출처 : 백준_2609번 참고 알고리즘 : 유클리드 호제법참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  //유클리드 호제법 사용 //최대공약수 구하기 int GCD(int a, int b) {    return (b == 0) ? a : G.. 2024. 11. 30.
C언어 194제] NPC Lv2. 달팽이2 출처 : 반크_백제역사 유적지구와 이스탐블 역사지구 문제]M줄 N칸으로 되어 있는 표 위에, 달팽이 모양으로 선을 그리려고 한다.ㅇ                    위의 그림은 M=5, N=3의 예이다. 이제 표의 왼쪽 위 칸(ㅇ)에서 시작하여, 오른쪽으로 선을 그려 나간다. 표의 바깥 또는 이미 그려진 칸에 닿아서 더 이상 이동할 수 없게 되면, 시계방향으로 선을 꺾어서 그려나간다.ㅇ→↘↗↘↓↑↓↓↑끝↓↖←↙ 위의 표는 선을 그려 나간 모양을 나타낸 것이다. 선이 꺾어진 부분은 대각선으로 나타내었다. 표의 모든 칸이 채워질 때까지, 선을 몇 번 꺾게 될까? 입력 첫째 줄에 M과 N이 빈 칸을 사이에 두고 주어진다. (2 ≤ M, N ≤ 100) 출력 첫째 줄에 표의 모든 칸이 채워질 때까지 선이 꺾어.. 2024. 11. 30.
C언어 193제] 조건에 맞는 암호를 만드시오. 출처 : 반크_백제역사 유적지구와 이스탐블 역사지구 문제]자연수를 입력받아 다음 규칙에 따라 암호를 만들어 출력하는 프로그램을 작성하시오. 각 숫자는 다음 표와 같이 바뀌어 암호가 된다. 입력 예 (input.txt) 9887 출력 예 (output.txt) GOOD 참고 알고리즘]암호화/복호화 참고풀이]#include  int main() {    int N;//입력된 숫자를 저장할 변수를 선언.     int insu;//작업할 때 N을 대신할 변수를 선언     //숫자들과 대칭되는 문자배열을 선언한다.    char ch[10]={'Y','B','K','E','A','R','N','D','O','G'};    int a;//반복변수     int mok;    int jari;     scanf(.. 2024. 11. 29.
반응형