전체 글
-
백준 2920 - 음계백준 algorithm 2019. 11. 4. 21:41
배열을 이용해서 오름차순인지, 내림차순인지, 섞여 있는 배열인지 확인하는 문제이다. 본인은 오름차순과 내림차순을 판별하는 함수를 만들고 두 함수 모두 false일 경우, mixed로 판별하였다. 아래와 같은 방법말고, 입력을 받으며 다음에 오는 숫자가 오름차순인지 내림차순인지 판별하여 해당 배열을 판별하는 방법 또한 있다. 그 방법이 훨씬 더 효율적이다. #include using namespace std; bool ascending(int arr[]) { int cnt=0; for (int i = 0; i < 7; i++) { if (arr[i] + 1 == arr[i + 1]) cnt++; } if (cnt == 7)return true; else return false; } bool descendi..
-
백준 15649 - N과 M(1)백준 algorithm 2019. 11. 4. 21:19
백트래킹과 관련된 기초 문제이다. 본인은 백트레킹의 개념은 알지만 코드로 구현함에 있어 어려움을 겪어, 다른 사람들의 코드를 보며 썼다. 길이가 M이므로, cnt가 M이 될때까지 해당 Backtracking 함수를 실행하게 된다. 함수를 실행하며, visited를 true로 바꿔주고, 모든 작업을 끝낸 후엔 visited를 false로 바꾼다. 그 이후 다음 부분을 확인하며, 똑같은 작업을 반복하게 된다. 현재도 머릿속으로는 이해되었지만, 개념이 정확히 확립이 안된 상태이다. 좀더 깊게 공부를 해야함을 느낀다. #include using namespace std; int N, M; int arr[10]; //sequence bool visited[10];//promising void func(int cn..
-
백준 1427 - 소트인사이드백준 algorithm 2019. 11. 3. 13:54
입력받은 숫자를 하나씩 vector에 넣는 과정이 필요하다. vector를 사용해 간단히 sort하면 되는 문제이다. 아래는 코드이다. 필요한 전처리기 #include #include #include #include #include using namespace std; int main() { vector arr;//숫자 입력받을 vector 선언 int N; //입력받을 숫자 cin >> N; while (N > 10) //각자리의 숫자를 vector에 삽입 { int tmp; tmp = N % 10; arr.push_back(tmp); N = N / 10; } arr.push_back(N); sort(arr.begin(), arr.end(), greater());//배열 sorting for (int ..
-
백준 1978 - 소수찾기백준 algorithm 2019. 10. 30. 00:28
중간고사가 끝나고 처음 푼 간단한 문제이다. 소수의 조건을 만족하는지 아닌지에 대한 함수를 만들어 해결하였다. #include using namespace std; bool Prime_Num(int num) { if (num == 1)return false; else if (num == 2)return true; else{ for (int i = 2; i > N; for (int i = 0; i > temp; if (Prime_Num(temp) == true)count++;..
-
2019년 10월 정보처리기사 실기 3회차 후기정보처리기사 후기 2019. 10. 13. 22:01
정보처리기사 실기 시험은 아래와 같이 나누어집니다. 필기 때와는 달리 각 과목별로 과락은 없습니다. 1. 알고리즘 2. 데이터베이스 3. 업무 프로세스 4. 전산 영어 5. 신기술 동향 1. 알고리즘과 같은 경우는 학교 수업을 충실히 듣고 전체적인 흐름을 볼 줄 아는 사람이라면, 충분히 풀 수 있는 문제들이었습니다. 2017년부터 실기가 이전과는 다르게 변한 걸로 알고 있는데, 2017년 이후 알고리즘 유형들만 봐도 충분히 풀 수 있는 문제들이라 생각합니다. 어떤 변수가 들어가야 하는지, 혹은 변수에 어떤 값을 넣어야 하는지에 대한 파악이 중요합니다. 직관적으로 잘 안와닿을때는 손으로 디버깅해보는 것 역시 좋은 방법입니다. 2. 데이터베이스의 경우, DB 과목에 대한 이해도가 필요한 수준이었습니다. 제가..
-
백준 2798 - 블랙잭백준 algorithm 2019. 10. 2. 00:21
브루트 포스로 검색을 하면서 조건에 맞는 값을 구하면 되는 문제이다. 다른 포스트들을 보니 DFS로 하는 방법 역시 있는데, 공부를 해봐야겠다. #include #include #include #include #define Max_num 3 using namespace std; int main() { int N, M; cin >> N; //카드의 갯수 cin >> M; vector Card; int answer=0; for (int i = 0; i > tem; Card.push_back(tem); } for (int a = 0; a < Card.size() - 2; a++) { for (int b = a+1; b < Card.size() - 1; b++) {..