C
[백준(BOJ) / C][Silver Ⅴ] 17478번 : 재귀함수가 뭔가요?
문제 https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 풀이 문제처럼 간단한 재귀함수 문제입니다. 주의 해야할게 있다면 재귀함수가 돌수록 앞에 언더바가 4개 씩 늘어가는데 이것은 현재 재귀함수가 도는 횟수를 파악해서 해당 언더바를 출력하는것으로 해결했습니다. 소스코드 #include // 재귀함수 void chatbot(int _cnt, int _undercnt); // 언더바를 출력하고 해당 문자열을 출력하는 함수 void underbar(c..
[백준(BOJ) / C][Silver Ⅳ] 10845번 : 큐
문제 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 해당 문제는 간단한 큐의 기능을 만드는 문제인데 저는 링크드 큐를 사용하여 문제를 해결하였습니다. 소스코드 #include #include #include // 노드 구조체 typedef struct tag_Node { int data; struct tag_Node* nextnode; } Node; // 노드들을 관리하는 큐 구조체 typedef struct queue_..
[백준(BOJ) / C][Silver Ⅴ] 1343번 : 폴리오미노
문제 https://www.acmicpc.net/problem/1343 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 풀이 해당 문제는 '재귀함수'를 사용하여 풀었습니다. board[idx]가 ' . ' 이라면 해당 idx를 넘어가며 1를 더해줍니다. 만약 아니라면 'X'라는 뜻이므로 'X'가 아닌 배열까지 length값을 올려줍니다. 이렇게 하는 이뉴는 해당 'X' 문자열의 길이를 알수있기 때문입니다. 이렇게 알게된 'X'의 길이가 홀수라면 채워넣을수있는 방법은 없다는 뜻이기에 '-1'을 출력하며 컴파일을 종료시키고 아니라면 PrintPoli 함수를 호출하여 해당 result 배열에 집어 넣습니다. 여기서 값..
[백준(BOJ) / C][Bronze Ⅰ] 2869번 : 달팽이는 올라가고 싶다
문제 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 풀이 처음에는 반복문을 사용하여 풀면 되겠다고 생각했고 너무 쉽다고 생각했는데, 결과는 시간 초과로 실패... 그 이유를 보니 0.25초안에 1,000,000,000 라는 큰 숫자를 다 처리하기에는 너무나도 모자란 시간이기에 이건 수학적으로 접근해야겠다고 생각했다. 아침에는 A 만큼 가고 밤에는 B 만큼 떨어진다. 그렇다면 하루에 올라가는 거리는 A-B, 그리고 마지막 날에는 안떨어지기떄문에 총 올라가야하는 거리는 V-B 이다. 그렇다면 ( V - ..