목록분류 전체보기 (70)
빙수달 게임 개발 노트
문제영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력첫째 줄에 단어의 개수를 출력한다. #include #include using namespace std;int main(){ string sentence; getline(cin, sentence); // string 헤더 파일에 포함되어 있는 getline(cin..
문제ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다.문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에서 엘리베이터까지의 거리는 무시한다. 또 모든 ..
# include # include # include using namespace std;const int MAX_STUDENTS = 10;struct studentNode{ int id; string name; int next; // 다음 노드의 '인덱스'를 저장};class studentBook{private: vector storage; int list_head; int free_head; // 새로운 노드를 할당받는 내부 함수 int allocateNode() { if (free_head == -1) return -1; int newNodeIndex = free_head; free_head = storage[free_head].next; return newNodeIndex; } // 사..
#include #include using namespace std;struct student{ int id; string name; student* next; student* prev;};class studentBook{private: student* head; student* tail;public: studentBook(); ~studentBook(); void insert(int id, string name); void remove(int id); void print(); void print_reverse(); void search(int id);};int main(){ int num = 0; int ID = 0; string name = ""; studentBook studentRecord; wh..
#include #include using namespace std;// Queue의 기본 용량 정의#define SIZE 1000// Queue를 저장할 클래스class Queue{ int* arr; int capacity; int front; int rear; int count;public: Queue(int size = SIZE); // 생성자 ~Queue(); int dequeue(); void enqueue(int x); int peek(); int size(); bool isEmpty(); bool isFull();};// Queue를 초기화하는 생성자Queue::Queue(int size){ arr = new int[size]; capacity = size; front = 0; rear..
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Managers : MonoBehaviour{ static Managers s_instance; // 유일성 보장 static Managers Instance { get { Init(); return s_instance; } } // 유일한 매니저를 갖고온다 InputManager _input = new InputManager(); ResourceManager _resource = new ResourceManager(); public static InputManager Input { get { retur..
문제9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.예를 들어, 서로 다른 9개의 자연수3, 29, 38, 12, 57, 74, 40, 85, 61이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 입력첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.출력첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. #include using namespace std;int main(){ int number = 0; int max = 0; int index = 0; for (int i = 1; i > number; if (max
문제N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력입력으로 주어진 숫자 N개의 합을 출력한다. #include #include using namespace std;int main(){ int N; string number; cin >> N >> number; int sum = 0; for (int i = 0; i num[i]는 문자열이다. 문자열에 들어있는 건 문자형이기 때문에, 숫자라고 할 수 없다.예를 들어, 입력이 "54321"이라면 s[0] = '5', s[1] = '4' 이런 식이다.위 식에서 sum에는 아스키 값이 들어가게 되는데, 그..
문제JavaScript에서 +,−은 수에 대해서는 일반적인 의미의 덧셈 뺄셈의 의미를 가지고 있습니다. 하지만 문자열에 대해서 +는 두 문자열을 이어붙이라는 의미이고, −는 양쪽 문자열을 수로 해석한 이후에 빼라는 의미입니다. A,B,C를 각각 수와 문자열로 생각했을 때 A+B-C를 출력하세요.입력첫 줄에는 정수 A가 주어집니다. (1≤A≤1000)둘째 줄에는 정수 B가 주어집니다. (1≤B≤1000)셋째 줄에는 정수 C가 주어집니다. (1≤C≤1000)주어지는 모든 수는 0으로 시작하지 않는 양의 정수입니다. 출력첫 줄에는 A,B,C를 수로 생각했을 때, A+B−C를 출력하세요.둘째 줄에는 A,B,C를 문자열로 생각했을 때, A+B−C를 출력하세요. #include #include using names..
문제첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.입력첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. #include using namespace std;int main(){ int N; cin >> N; for (int row = 1; row row 공백 개수별 개수1*412**323***234****145*****05 별 찍기 문제 풀 때, 각 변수 간 관계가 헷갈리다면 표를 만들어 보자.