반응형

C++ 21

프로그래머스 주식가격 Level2 [c++]

#include #include #include #include #include #include using namespace std; vector solution(vector prices) { vector answer;//정답을 반환할 vector queueq;//queue 선언 int result;//각각의 시간을 저장할 변수 int idx; int len = prices.size();//매개변수로 받은 vector의 개수 for (int i = 0; i < len; i++)//queue에 prices을 push q.push(prices[i]); idx = 0; while (!q.empty()) { result = 0;//시간초기화 int num = q.front();//queue의 front값 저장 ..

프로그래머스 기능개발 Level2 [c++]

#include #include #include #include #include #include using namespace std; vector solution(vector progresses, vector speeds) { int len = progresses.size();//작업의 개수 vectorv(len); vector answer(len);//결과를 저장할 vector stacks;//stack 선언 int cnt = 1;//날짜를 저장할 변수 int idx = 0;//결과 vector의 인덱스 변수 for(int i=0;i= 100)//작업의 진도가 100이상일 경우 { s.pop();//stack의 값 삭제 answer[idx]++;//배포개수 증가 while (!s.empty())//다음..

백준 14226 이모티콘 [c++]

#include #include #include #include #include using namespace std; int s; bool visited[1001][1001];//방문을표시할 배열 typedef struct { int n;//화면에 존재하는 이모티콘 수 int c;//클립보드의 이모티콘 수 int t;//연산시간 }emt;//queue에 사용될 구조체 void bfs()//bfs함수 { queueq;//queue 선언 q.push({ 1,0,0 });//이미화면에 1이 입력되어있기에 1,0,0을 push visited[1][0] = true;//방문표시 while (!q.empty()) { int x = q.front().n;//queue의 front 값 저장 int y = q.front..

백준 17086 아기상어2 [c++]

#include #include #include #include #include using namespace std; int n, m;//세로, 가로 int map[51][51];//상어 위치를 저장할 배열 bool visited[51][51];//방문여부를 저장할 배열 int num, result; int xarr[8] = { 1,0,-1,0,1,-1,1,-1 };//대각선포함하여 8방향을 탐색하기위한 배열 int yarr[8] = { 0,1,0,-1,1,-1,-1,1 }; typedef struct { int x; int y; int c; }node;//queue에 사용할 구조체 int bfs(int a, int b)//bfs함수 { fill(&visited[0][0], &visited[50][51]..

백준 9613 GCD합 [c++]

#include #include #include #include #include using namespace std; int gcd(int a, int b) { return b ? gcd(b, a % b) : a; } int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int t,n; int temp; long long sum = 0;//각 테스트케이스의 합을 저장할 변수 vectorv; vectorresult;//출력할 결과를 저장할 vector cin >> t;//테스트케이스 입력 for (int i = 0; i > n;//수의개수 입력 sum = 0;//sum 초기화 v.clear();//v..

백준 13913 숨바꼭질 4 [c++]

#include #include #include #include using namespace std; int n, k;//수빈이위치 n, 동생의위치 k bool visited[100001];//방문표시를 위한 배열 int result=0;//빠른시간을 저장할 변수 int arr[100001];//이동한 순서를 저장하기 위한 배열 vectorv;//이동순서 출력에 사용할 vector void bfs() { queue q;//queue 선언 q.push(make_pair(n, 0));//n과 0을 push visited[n] = true;//방문표시 while (!q.empty()) { int a = q.front().first;//a에는 현재위치를 저장 int b = q.front().seco..

c++ 유용한 함수 정리

문자열을 정수로 변환 #include stoi(문자열변수) :문자열 변수(숫자만있는경우)의 숫자를 정수형으로 변환 to_string(변수)를 하면 숫자를 문자열로 변환 문자열에 숫자와 문자가 같이 존재하는 경우 if문으로 '0' ~'9' 사이에 문자열에서 '0'을 빼고 저장하면 된다. 컨테이너의 최대값 및 최소값 반환 #include max_element(컨테이너변수명.begin(),컨테이너변수명.end()) : 컨테이너의 값들중 가장 큰 수 반환 min_element(컨테이너변수명.begin(),컨테이너변수명.end()) : 컨테이너의 값들중 가장 작은 수 반환 컨테이너의 특정값 찾기 #include auto it = find(컨테이너변수명.begin(),컨테이너변수명.end(),찾을값) : 컨테이너에..

Programming/C++ 2022.01.24

c++ stl 필요한 컨테이너 정리

벡터(vector) c++ 표준라이브러리에 있는 컨테이너 동적배열로서 기존 배열과는 다르게 크기 지정을 하지않아도 사용가능하다. 또한 메모리를 효율적으로 관리한다. "#include" 헤더파일을 추가 "vector변수명" 으로 선언 "변수명.begin()"으로 시작점 주소를 반환 "변수명.rbegin()" 끝나는 지점을 시작점으로 반환 "변수명.end()"으로 끝나는지점+1 주소를 반환 "변수명.rend()" 시작점+1 을 끝나는지점으로 반환 "변수명.front()" 첫번째 요소 반환 "변수명.back()" 마지막 요소 반환 "변수명.erase(인덱스)" 인덱스의 값을 삭제한다 큐(queue) 선입선출 자료구조인 큐를 직접구현하지 않고 사용할 수 있다. "#include" 헤더파일을 추가 "queue변수..

Programming/C++ 2022.01.24
반응형