코테
-
1229.암호문2알고리즘/SW Expert Academy 2020. 3. 31. 22:57
이번에 풀어볼 문제는 이전에 풀었던 암호문 1228에 하나의 조건만 추가된 문제이다. 이전에는 삽입만 존재했다면 이번에는 삭제가 생겼다. 생각보다 어렵진 않았고 문제를 풀면서 느낀점은 이러한 STL을 이용할 때 iterator를 잘 다뤄야 한다는 것을 느꼈다. #include #include using namespace std; int main() { for(int k=1; k> n; // 입력 list ans; // 암호문을 입력할 리스트 for(int i=0; i> tmp; ans.push_back(tmp); // 입력받은 값 리스트에 저장 } int m; // 명령어 갯수 cin >> m; // 입력 list ans2; // 명령어 저장 리스트 for(int i=0; i> check; // 입력 i..
-
1228.암호문1알고리즘/SW Expert Academy 2020. 3. 29. 18:07
이번에 풀 문제는 Sw expert의 1228 암호문1이다. 이 문제는 STL list 사용법을 익히는데 도움이 되었던 것 같다. 생각보다 오래걸렸고 그 이유는 입력받는 부분에서 헤맸다..;; 또한 구현 시에 입력하는 방법에 대해서도 생각을 다시해보게 되었다. 입력을 구현하는 것도 굉장히 중요하다는 것을 깨달았다. #include #include using namespace std; int main() { for(int e=1; e> n; // 입력 for(int i=0; i> a; // 하나씩 받아서 ans.push_back(a); // list에 넣어준다 } int m; // 명령어 갯수 cin >> m; // 입력 for(int i=0; i> b; // 입력받아서 다음 걸 받도..
-
1226.미로1 & 1227.미로2알고리즘/SW Expert Academy 2020. 3. 26. 00:16
이번문제는 미로1과 미로2이다. 문제는 간단하다. 주어진 출발지에서 주어진 목적지까지 갈 수 있나 없나를 체크하는 알고리즘을 구현하는 것이고 나는 DFS를 이용하기로 했다. 문제는 queue강의에서 출제되었지만 나는 DFS를 Stack을 이용해서 구현해보았다. 앞서 stack과 queue를 나름 많이 다뤄보아서인지 사용이 자연스러워진거같다. 처음 시작할 때는 분명 헷갈렸던 것 같은데.. ㅎㅎ 미로1과 미로2는 MAX를 16이나 100이냐 말고 코드가 달라진게 없어서 한 번에 포스팅했다. #include #include #include using namespace std; #define MAX 16 // 100 int dx[4]={-1,1,0,0}; // X축 이동 int dy[4]=..
-
1223.계산기2알고리즘/SW Expert Academy 2020. 3. 23. 21:59
이번에 풀어볼 문제는 SW expert에 있는 계산기2이다. 계산기1과 달라진 점은 예상했던대로 예외처리가 늘어나 '+' 뿐아니라 '*'도 비교해야 한다는 것이다. 역시나 예외처리를 잘해주면 쉽게 풀 수 있을 것 같다. 나는 연산자의 경우 Stack에 넣고 피연산자는 Queue에 넣어서 계산하도록 했다. 후위계산법의 방식은 다른 블로그에 많으니 참고하면 될 거 같다. #include #include #include using namespace std; int main() { int n; for(int k=1; k> n; string str; // 문자열 입력 cin >> str; stack s; // 연산자 저장공간 queue q; // 피연산자 및 후위계산식이 완성될 공간 for(..
-
2178. 미로탐색알고리즘/백준 BAEK JOON 2020. 3. 15. 01:06
이번에 풀어볼 문제는 백준의 2178 미로탐색이다. 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net DFS를 이용하여 문제를 풀었다. #include #include using namespace std; #define MAX 100 int dx[4]={-1,1,0,0};// X 좌표 이동범위 int dy[4]={0,0,-1,1};// Y 좌표 이동범위 // -> 상하좌우 int arr[MAX][MAX]; // 미로 int n, m; void bfs(int v, int w){ queueq; q.push(make_pair(..