본문 바로가기
728x90
SMALL

전체 글232

백준 2583번 영역 구하기(C++) 문제정답 코드#include #include #include #include #include #include #include #include using namespace std; #define X first #define Y second int map[102][102]; int mx[4] ={0,1,0,-1}; int my[4] ={1,0,-1,0}; int all; int result[10000]; // void printmap(int col,int row) // { // for (int i=col -1; i >= 0;i--) // { // for (int j=0; j row >> snum; for(int i=0; i> .. 2023. 1. 5.
백준 2468번 안전영역(C++) 문제정답 코드#include #include #include #include #include #define X first #define Y second using namespace std; const int dx[]= {0,1,0,-1}; const int dy[]= {1,0,-1,0}; int main() { ios :: sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector arr(n,vector(n,0)); vector vis(n,vector(n,0)); for (int i=0;i > arr[i][j]; } } int len = 1; int result = -1; int max = 1; while (result !=0) { result = 0; for (.. 2023. 1. 5.
백준 1012번(C++) 문제정답 코드#include #include #include #include using namespace std; const int mx[] = {0,1,0,-1}; const int my[] = {1,0,-1,0}; int main() { int t,m,n,k; cin >> t; int cnt = 0; for (int i =0; i > m >> n>> k; vector arr(n,vector(m,0)); vector vis(n,vector(m,0)); for (int j =0; j > x>> y; arr[y][x] = 1; } for (int iy = 0;iy < n;iy++) { for (int ix = 0;ix < m;ix++.. 2023. 1. 5.
백준 (C언어)백준 1152번 단어의 갯수 scanf ("%[^\n]") 이 문제는 처음에 scanf를 스페이스 말고 개행을 기준으로 받는 방법을 몰라서 헤맸었다. #include #include #include int main() { char arr[1000000]; scanf("%[^\n]", arr); int count = 1; int size = strlen(arr); for (int i = 0; i < size; i++) { if (arr[i] == ' ') count++; } if (arr[0] == ' ') count--; if (arr[size - 1] == ' ') count--; printf("%d", count); } 이 글은 코딩 꼬꼬마 시절에 푼 문제를 보관한 글로 네이버에 저장해둔 글을 옮긴 글입니다. 혹시나 참고하시는 부분에 이상한 부분이나 질문이 .. 2023. 1. 4.
백준 (C언어)백준 2869번 달팽이 (시간복잡도 문제) 이전에 풀었던 문제중에 시간복잡도에 자꾸 걸렸던 문제가 있었는데 시간복잡도를 줄이는 방법은 1. 함수의 호출의 수를 최대한 줄인다. 2. 미리할 수 있는 연산은 미리 끝내고 반복문에 들어간다. 3. 이번에 풀 문제인데 탐색할 때 값을 계속 올리면서 찾는 것보다 수식으로 풀고 코드를 짜는게 낫다는 거다. #include int main() { unsigned int up, down; unsigned int high; scanf("%d%d%d", &up, &down, &high); unsigned int day = 1; unsigned int cha = up - down; unsigned int real_high = high - down; while (1) { if (real_high =high 니까 이항해.. 2023. 1. 4.
백준 (C언어)백준 2775번 부녀회장문제 재귀 아닌 배열문제 #include int main() { int input, floor, room; scanf("%d", &input); int arr[15][15]; for (int i = 1; i 2023. 1. 4.
백준 (C언어)백준 10757번 큰수 A+B문제 리버스 사용 #include #include void reverse(char* arr) { int len = strlen(arr); for (int i = 0; i < len / 2; i++) { char tmp = arr[i]; arr[i] = arr[len - i - 1]; arr[len - i - 1] = tmp; } } int main() { char arr1[100003] = { 0 }; char arr2[100003] = { 0 }; char result[100003] = { 0 }; scanf("%s %s", arr1, arr2); int i = 0; int arr1_size = strlen(arr1); int arr2_size = strlen(arr2); int size = arr1_size; int .. 2023. 1. 4.
백준 (C언어)백준 1002번 터렛 원의 내접 외접 조건문제 처음에 엄청 삽질을 했다. 공식으로 접근을 하려고 했고 그 사투의 흔적이 여기에 있다 처음에 원이 만나는 경우를 외접만 생각해서 왜 안되지 싶었는데,, 옛날에 수능 준비할 때 맨날 풀었던 외접 내접을 까먹어서 다시 복습을 해봤다. 두 원의 위치 관계는 두점에서 만나거나 아에 안 만나거나 한점에서 접하거나 아에 일치하는 경우 이렇게 나뉜다. 설명의 편의를 위해 두 원의 반지름을 r1 r2 로 적고 두 원의 중심사이 거리를 d라고 하겠다. 원이 두 점에서 만나는 경우: d가 r1 + r2 보다 큰 경우 원은 절대로 만나지 못한다. 0인 조건이 된다. 그리고 d와 작은반지름의 합이 큰반지름보다 작으면 원은 만날수 없기 때문에 이 두개의 조건을 정리하면 d >r1 +r2 && d >큰반지름 -작은반지름 이 된다.. 2023. 1. 4.
백준 (C언어)그리디 알고리즘 단어수학 백준1339번 실패코드 #include #include int tenup(int a) { int k = 1; for (int i = 0; i < a; i++) k *= 10; return (k); } intwhere_is_alph(char a, char* arr, int len) { int i = 0; int result = 0; if (len == 0) return 0; while (1) { if (arr[i] == a) result += tenup(len - i - 1); if (i == 7) break; i++; } return (result); } void sort_arr(int* arr) { int tmp; for (int i = 0; i < 26; i++) { for (int j = 0; j < 25-i; .. 2023. 1. 4.
728x90
BIG