목록전체 글 (191)
정화 코딩
1/23. 별 찍기 - 4 (백준 2441번) https://www.acmicpc.net/problem/2441 //C #include int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i++) { for (int j = 0; j < i; j++) printf(" "); for (int j = 0; j < n-i; j++) printf("*"); printf("\n"); } return 0; } 오늘은 브론즈3으로 간단하게 슝- (정답) 1/24. 별 찍기 - 2 (백준 2439번) https://www.acmicpc.net/problem/2439 //C #include int main() { int n; scanf("%d", &n); for (i..
1. 약수 (백준 1037번) https://www.acmicpc.net/problem/1037 #C #include int main() { int n; scanf("%d", &n); int div[n]; for(int i = 0; i max) max = div[i]; } printf("%d\n", min * max); return 0; } 여러개의 약수 중 최솟값과 최댓값을 곱하면 원래의 수가 나온다! (정답) 2. 좌표 정렬하기 (백준 11650번) https:..
정렬 (Sorting) 특정한 기준에 따라 데이터를 늘어놓는 알고리즘 (아래에 제시한 정렬들은 모두 오름차순 기준) 1. 선택 정렬 (Selection Sort) 💡 정의 순차적으로 가장 작은 수를 선택하고 교환하는 것을 반복하는 정렬 💡 과정 1. 리스트에서 가장 작은 수를 선택한다. 2. 가장 왼쪽의 원소와 교환한다. 3. 반복한다. 💡 특징 - 시간복잡도: worst, average, best 모두 O(n^2) 2. 삽입 정렬 (Insertion Sort) 💡 정의 자신보다 작은 수가 나올 때 까지 오른쪽로 밀어 삽입하는 정렬 💡 과정 1. 자신의 왼쪽에 자신보다 작은 수가 나올 때까지 오른쪽으로 민다. 2. 왼쪽에 자신보다 작은 수가 나오면 삽입한다. 3. 반복한다. 💡 특징 - 시간복잡도: wo..
1/16. 공 (백준 1547번) https://www.acmicpc.net/problem/1547 //C #include int main() { int ball = 1; int a, b, m; scanf("%d", &m); for(int i = 0; i < m; i++) { scanf("%d %d", &a, &b); if(a == ball) ball = b; else if(b == ball) ball = a; } printf("%d\n", ball); return 0; } 브론즈3인데 은근 애먹은 문제. 처음엔 생각없이 그대로 구현하려고 하다가 포인터까지 생각하게 되었고... 계속 머리를 싸매다가 이렇게 복잡한 문제는 아닌 것 같은데... 하면서 오빠한테 물어봤다. 오빠는 모든 걸 다 구현할 필요가 없..
1. 오큰수 (백준 17298번) https://www.acmicpc.net/problem/17298 #include int main() { int n; scanf("%d", &n); int a[n]; for(int i = 0; i a[i]) { printf("%d ", a[j]); exist = 1; break; } } if(exist == 0) printf("-1 "); } return 0; } 스택과 관련된 문제였는데, 처음에는 스택없이 반복문만을 이용해서 풀었다. 당연히 시간 초과..
스택 (Stack) 💡 정의 자료의 입력과 출력을 한 곳(방향)으로 제한한 자료구조 💡 특징 - 후입선출 구조: 마지막(Last)에 들어온(In) 데이터가 먼저(First) 나간다(Out) → Last-in-first-out(LIFO) - 시간복잡도: 삽입 삭제 연산 O(1) - top을 통해 접근하기 때문에 데이터 접근, 삽입, 삭제가 빠르다. - top 위치 이외의 데이터에 접근할 수 없으므로 탐색할 수 없다. 탐색하려면 모든 데이터를 꺼내면서 진행해야 한다. 💡 관련 용어 - top(peek): 가장 최근에 저장된 데이터이자 먼저 삭제 될 데이터 - push: 데이터 넣기/삽입. (삽입 된 데이터는 삭제시 가장 먼저 삭제 될 데이터가 됨.) - pop: 데이터 꺼내기/삭제. (가장 최근에 저장된 데..
💡 자료구조 데이터를 어떠한 형태로 저장하고 관리할 것인지에 대한 방법. 어떻게 효율적으로 자료를 저장할 것인가? ex) 배열, 스택, 큐, 덱, 그래프, 트리, ··· 💡 알고리즘 저장된 데이터를 찾거나 변형하거나 수정할 때 필요한 방법. 문제를 어떻게 해결할 것인가? ex) 재귀적 알고리즘, 탐욕 알고리즘, 검색 알고리즘, 정렬 알고리즘 ··· [출처 및 참고] https://velog.io/@kmg2933/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EC%99%80-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%98-%EC%B0%A8%EC%9D%B4
1/9. 조약돌 (백준 2097번) https://www.acmicpc.net/problem/2097 //C #include #include int main() { int n, m, ans; scanf("%d", &n); if(n = 24) a -= 24; printf("%d %d\n", a, b); return 0; } 오늘도 브론즈3으로 가벼운 문제 슈슝- (정답) 1/14. 별 찍기 - 1 (백준 2438번) https://www.acmicpc.net/problem/2438 #python n = int(input()) for i in range(n): print ('*' * (i+1)) 파이썬으로 푸는 첫 문제!! (정답) 1/15. N 찍기 (백준 2741번) https://www.acmicpc...