목록Programming (65)
빙수달 게임 개발 노트
문제컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다.예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다.입력첫째 줄에 고유번호의 처음 5자리의 숫자들이 빈칸을 사이에 두고 하나씩 주어진다.출력첫째 줄에 검증수를 출력한다. #include using namespace std;int main(){ int a, b, c, d, e; cin..
문제연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.입력첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다. 출력첫째 줄에 윤년이면 1, 아니면 0을 출력한다. # include using namespace std;int main(void){ int n; // 년도 cin >> n; if (n =1) { if (n % 4 == 0) { ..
문제단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성하시오.입력첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 S가 주어진다. 단어의 길이는 최대 1000이다.둘째 줄에 정수 i가 주어진다. (1 ≤ i ≤ |S|) 출력 S의 i번째 글자를 출력한다. #include using namespace std;int main(){ int a; cin >> a; for (int i = 1; i
문제알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.입력알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력입력으로 주어진 글자의 아스키 코드 값을 출력한다. #include #include using namespace std;int main(){ char c; cin >> c; cout char형 데이터를 int형으로 변환 가능하다. char형 변수는 문자 하나를 저장하지만, 내부적으로는 해당 문자의 아스키 코드값을 정수 형태로 저장하고 있기 때문이다.
문제단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성하시오.입력첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 S가 주어진다. 단어의 길이는 최대 1000이다.둘째 줄에 정수 i가 주어진다. (1 ≤ i ≤ |S|) 출력 S의 i번째 글자를 출력한다. #include #include using namespace std;int main(){ string word; // string은 동적으로 크기가 조정되는 문자열을 다루기 위한 기능을 제공한다. 배열처럼 인덱스를 사용하여 접근 가능 int num; cin >> word >> num; cout
문제두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 출력각 테스트 케이스마다 A+B를 출력한다. #include using namespace std;int main(){ int T; int a, b; cin >> T; for (int i = 0; i > a >> b; cout
문제N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오.입력첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다. 출력첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다. #include using namespace std;int main(){ int A[100][100]; int B[100][100]; int n, m; cin >> n >> m; for (int i = 0; i > A[i][j]; } } fo..
문제N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.입력첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. #include using namespace std;int main(){ int min = 1000000; int max = -1000000; int n, input; cin >> n; for (int i = 0; i > input; if (input max) { max = input; // 최댓값 갱신 ..
문제정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.입력첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. 출력X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다. #include using namespace std;int main(){ int N; int X; cin >> N; cin >> X; int arr[10000]; for(int i = 0; i > arr[i]; } for (int i = 0; i
#include "framework.h"#include "Alkanoid.h"#include #include #include #define MAX_LOADSTRING 100#define BSIZE 10 // 원의 반지름class CCircle{public: int mx; int my; float VectorX; float VectorY; void DrawCircle(HDC hdc); // 원 화면에 출력 void Initialize(int x, int y); // 원 그려지는 시작점 void Translate(); // 원 이동 void WallCrash(); // 원이 벽 충돌할 때 void..