본문 바로가기

Algorithm/C++149

[백준 1874번] 스택 수열 1874번: 스택 수열 (acmicpc.net) 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net #include #include #include using namespace std; int main() { stack s; int n; string ans; cin >> n; int m = 0; while (n--) { int x; cin >> x; if (x > m) { while (x > m) { s.push(++m); ans .. 2022. 4. 10.
[백준 5635번] 생일 5635번: 생일 (acmicpc.net) 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net pair 두개 말고 여러개 쓰고 싶을 땐 어떻게 쓰는지 vectorname(n); for(int i=0;i>name[i].second.second>>name[i].second.first>>name[i].first.second>>name[i].first.first; } sort를 사용할 때 pair의 first를 기준으로 정렬되기에 연도를 first.first로 구성. 93년생이 제일 어리기에 name [n-1]을 먼저 출력한다 [C++, STL] 구조체, pair 벡터 정렬 - 코드 다이어리 (ti.. 2022. 4. 9.
[백준 9012] 괄호 9012번: 괄호 (acmicpc.net) 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net #include #include using namespace std; string valid(string s) { int cnt = 0; for (int i=0; i> t; while (t--) { string s; cin >> s; cout 2022. 4. 8.
[백준 9093] 단어 뒤집기 9093번: 단어 뒤집기 (acmicpc.net) 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net cin.ignore(); 과 getline(cin,str) + str += '\n'을 해주는 이유 getline을 쓰면 마지막에 입력 받은 시점부터 '\n'을 받을 때 까지 한 줄에 있는 것을 모두 다 입력받아서 str에 넣어줌 그런데 cin.ignore()이 없으면 숫자 뒤에 개행 문자를 입력받게 됨 그래서 cin.ignore()을 해서 이걸 무시할 수 있게 함 #include #include #incl.. 2022. 4. 7.
[프로그래머스 lv2] 피보나치 수 코딩테스트 연습 - 피보나치 수 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr 문제점 : 테스트케이스 7번부터 시간초과가 뜸 매번 정수의 범위에 신경쓰지 않아서 이런 일이 발생!!!!!!!!!!!! #include #include using namespace std; int fibo=.. 2022. 3. 30.
[이코테 2021] 음료수 얼려먹기 / DFS (이코테 2021 강의 몰아보기) 3. DFS & BFS - YouTube #include using namespace std; int n, m; int graph[1000][1000]; // DFS로 특정 노드를 방문하고 연결된 모든 노드들도 방문 bool dfs(int x, int y) { // 주어진 범위를 벗어나는 경우에는 즉시 종료 if (x =n || y = m) { return false; } // 현재 노드를 아직 방문하지 않았다면 if (graph[x][y] == 0) { // 해당 노드 방문 처리 graph[x][y] = 1; // 상, 하, 좌, 우의 위치들도 모두 재귀적으로 호출 dfs(x - 1, y); dfs(x, y - 1); dfs(x + 1, y); dfs(x, y + 1).. 2021. 9. 29.