백준 algorithm
-
백준 2588 곱셈백준 algorithm 2019. 12. 20. 18:34
곱하는 수를 10으로 나누면서 곱하고 배열에 넣어 출력하였다. #include using namespace std; int main() { int first, second,second2; cin >> first >> second; second2 = second; int arr[10]; int cnt = 0; while (second != 0) { int tmp = second % 10; second = second / 10; arr[cnt++] = first * tmp; } arr[cnt] = first * second2; for (int i = 0; i
-
백준 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..