C++ 순열 구현
코딩테스트에 자주 나오는 개념인 순열을 파헤쳐보았다. 나는 dfs를 이용하여 순열을 구현했다. 알고리즘 목표 주어진 배열의 원소들의 조합을 모두 구하고, 총 개수를 출력해라. 입력 int array 와 r 값 (단 r<=array의 길이) 출력 nPr의 모든 경우의 수를 출력하고, 순열의 총 개수 또한 출력 나는 이해하기 쉽...
코딩테스트에 자주 나오는 개념인 순열을 파헤쳐보았다. 나는 dfs를 이용하여 순열을 구현했다. 알고리즘 목표 주어진 배열의 원소들의 조합을 모두 구하고, 총 개수를 출력해라. 입력 int array 와 r 값 (단 r<=array의 길이) 출력 nPr의 모든 경우의 수를 출력하고, 순열의 총 개수 또한 출력 나는 이해하기 쉽...
[문제링크] [C++ 순열 구현] 직전에 올렸던 순열 알고리즘을 적용해보는 문제이다. vector<int> v; int solution(string numbers) { for(char c : numbers){ v.push_back(c-'0'); } return answer; } 우선 먼저 solu...
[문제링크] 레벨 1문제이기도 하고 쉽게 풀어보자 했는데 은근히 오래걸렸다. 패턴들을 분석하여 간결하게 코드를 짜보고자 했는데 더욱 더러워졌다. 처음 짠 코드이다. #include<iostream> #include<vector> #include<algorithm> #include<map> using nam...
[문제링크] 이번 문제도 지난 포스팅과 완전히 같은 유형이다. DFS를 통해 루트(vid=1)에서 가장 먼 정점을 찾고, 가장 먼 정점에서 다시 한번 DFS를 진행하면 된다. #include<iostream> #include<cstring> #include<vector> #define MAXSIZE 10000 + 1...
[문제링크] 트리 순회문제이다. 처음에는 다익스트라로 풀었는데 시간초과를 해결하지 못해서 기본적인 dfs로 풀었더니 바로 correct가 떴다… #include<iostream> #include<vector> #include<cstring> #define MAXSIZE 100000+1 using namespace ...