C

    [백준(BOJ) / C][Bronze Ⅱ] 10811번 : 바구니 뒤집기

    문제 https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 풀이 간단한 배열 Swap 문제 소스코드 #include #include void Swap(int* _arr, int _left, int _right); int main(void) { int N, M; int left, right; int* arr; scanf("%d %d", &N, &M); arr = (int*)malloc(sizeof(int) * N); for(int i = 0; ..

    [백준(BOJ) / C][Bronze Ⅰ] 10798번 : 세로읽기

    문제 https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 풀이 2차원 배열을 활용하여 풀었습니다. 5번 입력을 받는것은 고정이며, 문자열의 길이는 최대 15이지만 더 줄어들수있습니다. 그러므로 최대 문자열의 길이만큼 문자열을 확인할수있게 하였습니다. 또한, 만약 모든 문자열의 길이가 다르다면 공백인 곳에 접근할수 있으므로 공백일경우는 continue를 하여 해당 배열을 넘어갔습니다. 간단한 2차원 배열 + 문자열 문제입니다. 소스코드 #in..

    [백준(BOJ) / C][Silver Ⅳ] 10866번 : 덱

    문제 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 이중 연결 리스트(Doubly Linked List)로 구현하였고, 큐, 스택의 동작 방식을 참고하였습니다. 소스코드 #include #include #include typedef struct tag_node { int data; struct tag_node* nextnode; struct tag_node* prevnode; }Node; typedef struct tag..

    [백준(BOJ) / C][Silver Ⅴ] 2669번 : 직사각형 네개의 합집합의 면적 구하기

    문제 https://www.acmicpc.net/problem/2669 2669번: 직사각형 네개의 합집합의 면적 구하기 평면에 네 개의 직사각형이 놓여 있는데 그 밑변은 모두 가로축에 평행하다. 이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함할 수도 있으 www.acmicpc.net 풀이 2차원 배열을 만들어 해당 구역이 직사각형 안이라면 1를 넣고 아니라면 0을 넣어주고 만약 앞 직사각형에서 이미 색칠되어있다면 건너뛰어 총 색칠된 면적의 개수를 구하면 쉽게 풀수있다. 소스코드 #include int main(void) { int arr[101][101] = {0, }; int x1, y1, x2, y2; int result = 0; for(int..