Algorithm159 #1260 DFS와 BFS # 문제 # 입력 및 출력 # 풀이 이 문제를 이틀 전인가 그때 봤는데 도저히 어떻게 풀어야 할지 감이 안잡혀서 그냥 버리고 넘어갔었다ㅋㅋㅋ 진짜 각잡고 해보자 해서 다시 풀어보는데 좀 복잡해져도 배열이랑 자료구조 좀만 섞어 쓰면 풀 수 있을 것 같았다 그래서 아래 블로그 이론을 참고해서 코드를 작성해봤다 1) DFS https://gmlwjd9405.github.io/2018/08/14/algorithm-dfs.html [알고리즘] 깊이 우선 탐색(DFS)이란 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io 2) BFS https://gmlwjd9405.github.io/2018/08/15/algorithm-bfs.. 2022. 4. 23. #1978 소수 찾기 # 문제 # 입력 및 출력 # 풀이 소수를 찾는데 여기를 참고했음 https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98_%EC%B2%B4 소수 배열을 하나 만들어서 소수를 제외한 수는 모두 -1로 값을 변경해줌 이렇게 하면 소수만 배열에 -1이 아닌 숫자로 존재하고 소수가 아닌 수는 모두 -1이 됨 시간 복잡도를 줄이기 위해 소수 배열을 모두 조회하는 것이 아니라 입력받은 수가 소수 배열에 존재하는지 확인하기 위해 배열의 크기는 1001로 설정해서 인덱스 0번은 사용하지 않음(인덱스 1~1000 사용) #include using namespace std; int num[100.. 2022. 4. 23. #9012 괄호 # 문제 # 입력 및 출력 # 풀이 스택을 사용해서 간단하게 풀 수 있음 (이 입력되면 push해서 넣어주고 )이 입력되면 pop해서 삭제해주면 됨 괄호의 짝이 안맞으면 NO를 출력하고 짝이 맞는 경우엔 YES 출력하도록 작성 * 스택이 빈 상태에서 pop하지 않도록 예외처리를 해줄것 * 스택을 clear하기 위해서 while(!s.empty()) s.pop(); 코드를 사용해도 되지만 난 그냥 반복문 돌 때마다 스택을 새로 선언해서 사용했음(시간 복잡도 문제) #include #include using namespace std; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { stack s; string ps; int isVPS = 1; cin.. 2022. 4. 22. #10828 스택 # 문제 # 입력 및 출력 # 풀이 c++에 있는 stack 헤더를 사용해서 풀었음 #include #include using namespace std; int main() { int n; cin >> n; string cmd; stack s; for (int i = 0; i > cmd; if (cmd == "push") { int num; cin >> num; s.push(num); } else if (cmd == "pop") { if (s.empty()) cout 2022. 4. 22. #13305 주유소 # 문제 # 입력 및 출력 # 풀이 처음에 문제를 보고 좀 당황했다ㅋㅋ 어떻게 그리디로 풀지 모르겠더라 근데 어떻게 쓰다보니까 이게 되네 싶어서 간단하게 풀었다 리터당 가격을 하나씩 비교하면서 최소값을 찾아서 distance값을 곱해주면 된다 처음 코드가 아래와 같았는데 문제가 좀 있었다 #include using namespace std; int dis[100000]; int price[100000]; int main() { int n; cin >> n; n--; for (int i = 0; i > dis[i]; } for (int i = 0; i > price[i]; } int minv = 1000000000.. 2022. 4. 22. #1991 트리 순회 # 문제 # 입력 및 출력 # 풀이 배열을 int 배열을 쓸지 char 배열을 쓸지, 리스트를 쓸지 벡터를 쓸지 배열을 쓸지 감이 안오더라ㅋㅋㅋ 처음엔 int 배열을 쓰려고했는데 재귀호출할때 인덱스 접근이 애매해져서 힘들었다 그리고 입력이 A부터 순차적으로 들어오는 게 아니고 예시를 보면 D가 뒤에서 두번째에 입력돼서,, 일단 해결해야 할 문제 1) 입력이 숫자가 아닌 문자기 때문에 int 배열을 쓸지, char 배열을 쓸지 2-1) char 배열로 한다면 인덱스 접근은 어떻게 할지 (index-'A' 방식?) 2-2) int 배열로 한다면 재귀호출 시 인덱스 접근은 어떻게 할 지 ( 알파벳 순서대로 sort?) 3) . 입력은 어떻게 처리할지 4) A 노드부터 순차적으로 입력되는 게 아니라서 배열을 [.. 2022. 4. 21. 이전 1 ··· 20 21 22 23 24 25 26 27 다음