sw expert academy

문제 (요약) 주어진 수열이 문제에서 정의한 순열인지 판단하라. 길이 N인 순열은 1부터 N까지의 자연수를 중복 없이 순서에 상관없이 모두 사용하여 만든 수열을 의미한다. 접근 입력된 수열을 검사하여 모두 1회씩 출현했는지 확인한다. 풀이 #include #include using namespace std; string fnSolve(vector &v, int N) { for (int i = 1; i > T; for (int t = 1; t > N; vector v(N+1); for (int i = 0; i > idx; v[idx] += 1; } cout
문제(요약) 부분문자열의 갯수를 구하시오. (출처) 접근법 완전탐색구현 후, 시간초과 발생하여 Dynamic Programing (Memoization) 적용 풀이 #include #include using namespace std; string S; string sT = "SAMSUNG"; const int NUM = 1000000007; vector memo; int fnSolve(int IdxT, int IdxS) { if (sT.size() == IdxT) { return 1; } if (S.size() == IdxS) { return 0; } int Ret = memo[IdxT][IdxS]; if (Ret != -1) { return Ret; } if (sT[IdxT] == S[IdxS]) { ..
문제(요약) 8821. 적고 지우기 풀이 문자열에 홀수번 등장하는 숫자의 개수를 구합니다. 입력받는 숫자의 범위가 '0' ~ '9' 로 제한되므로 입력받을 때마다 개수를 증가시키고 이 값이 홀수인 경우를 답으로 산출합니다. 단, 문자열로 입력받게 되므로 이를 숫자형으로 변환할 필요가 있습니다. #include #include using namespace std; int main(int argc, char** argv) { int T; cin >> T; for (int i = 0; i > strNum; for (int j = 0; j < s..
문제(요약) 입력받은 10개의 숫자의 각 자리수를 더하여 그 중 최대값과 최소값을 화면에 출력하라. 풀이 각 자리의 숫자는 나머지 연산자를 통해 쉽게 구할 수 있습니다. #include #include using namespace std; FILE* stream; const int NUM_INPUT = 10; int main(void) { freopen_s(&stream, "sample_input.txt", "r", stdin); int T; cin >> T; for (int t = 1; t > n; int sum = 0; while (n > 0) { int dig = (n % 10); n /= 10; sum += dig; } if (sum > max) { max = sum; } if (sum < min..
쓴웃음
'sw expert academy' 태그의 글 목록