2회차 목표 : C++로 간단한 알고리즘 문제 풀어보기.
-C++ 공부 및 알고리즘 문제 풀어보기.
일정 : 7/14 11:00~14:00(오전 11시~오후 2시)
2회차 공부 내용 :
백준 문제 : 직사각형에서 탈출
백준 문제 : https://www.acmicpc.net/problem/1085
C++을 이용해서 풀어보았다.
#include <bits/stdc++.h>
using namespace std;
int main() {
int x, y, w, h, cx, cy;
cin >> x >> y >> w >> h;
if (x > w / 2) {
cx = w - x;
}
else {
cx = x;
}
if (y > h / 2) {
cy = h - y;
}
else {
cy = y;
}
if (cx >= cy) {
cout << cy;
}
else {
cout << cx;
}
return 0;
}
알고리즘 자체는 그리 어렵지 않아서 쉽게 풀 수 있었다. 조건문과 반복문같은 경우는 기존에 배운 C언어와 유사하였다.
다만, 입력과 출력 부분은 더 간단하였다.
+ 맨 처음에 헤더파일을 받을 때, 통합된 헤더파일을 읽도록 하여 필요한 헤더파일을 하나 하나 불러오는 것보다 효율적이다. 물론, 코딩테스트에서는 사용할 수 없으므로 공부할 때는 직접 하나 하나 할 수 있는 것이 좋겠다.
백준 문제 : 스택
백준 문제 : https://www.acmicpc.net/problem/10828
C++을 이용하여 스택 자료구조를 구현하였다.
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int ord_count; //받을 명령어 개수
cin >> ord_count;
int size=ord_count; //배열 크기
int* arr = new int[size]; //size를
int top = -1; //스택 탑 위치 초기화
for (int i = 0; i <= ord_count; i++)
{
string s; //명령어
//cin >> s;
getline(cin, s); //공백까지 포함(push를 위해서.)
if (s.compare("pop") == 0) {
if (top == -1) {
cout << -1 <<'\n';
}
else {
cout << arr[top] << '\n';
top--;
}
}
if (s.compare("size") == 0) {
cout << top + 1 << '\n';
}
if (s.compare("empty") == 0) {
if (top == -1) {
cout << 1 << '\n';
}
else {
cout << 0 << '\n';
}
}
if (s.compare("top") == 0) {
if (top == -1) {
cout << -1 << '\n';
}
else {
cout << arr[top] << '\n';
}
}
if(s.substr(0,4).compare("push")==0){ //push를 받고 그 뒤에 숫자를 받아서 스택의 탑에 넣기.
string newst = s.substr(5, s.length());
int num = std::stoi(newst);
arr[++top] = num;
}
}
return 0;
}
배열을 이용하였고, 다음에는 C++에 있는 벡터를 이용하여 구현해보는 것도 좋을 것 같다.
'[활동 정리] - 비밀번호 : helloㅁㅁㅁ > [2023]하계 모각코 개인' 카테고리의 다른 글
[2023 하계 모각코] "아는 형님의 아는 사람의 아는 동생의 아는 코딩이요" [5회차] 계획 및 결과 (0) | 2023.08.02 |
---|---|
[2023 하계 모각코] "아는 형님의 아는 사람의 아는 동생의 아는 코딩이요" [4회차] 계획 및 결과 (0) | 2023.07.26 |
[2023 하계 모각코] "아는 형님의 아는 사람의 아는 동생의 아는 코딩이요" [3회차] 계획 및 결과 (0) | 2023.07.24 |
[2023 하계 모각코] "아는 형님의 아는 사람의 아는 동생의 아는 코딩이요" [1회차] 계획 및 결과 (0) | 2023.07.10 |
[2023]하계 모각코 "아는 형님의 아는 사람의 아는 동생의 아는 코딩이요" 개인 목표 및 계획 (0) | 2023.07.10 |