https://www.acmicpc.net/problem/1520 > ## 요구하는 알고리즘 처음엔 분류별 알고리즘에서 DP로 분류되어 있길래 재밌겠당 하고 들어갔지만 문제를 보고 dfs가 필요할 것 같다고 생각했다. DFS를 잡고 머리를 아무리 쥐어짜봐도 안 풀려
https://www.acmicpc.net/problem/2839 > ## Idea 먼저 3kg와 5kg 설탕 봉지가 있고 가장 적은 개수의 봉지를 배달해야 한다. 최소공배수 15로 봤을 때 당연히 3kg 봉지를 선택하는 것보단 5kg 봉지를 선택하는 것이 더 적은
https://www.acmicpc.net/problem/1712수학에서 문제를 풀 때 식만 세울 줄 안다면 문제를 수월하게 풀 수 있다. 알고리즘을 다룰 때도 식만 잘 세운다면 수월하게 풀 수 있는 문제들이 많다. 고정 비용(fixed), 가변 비용(var)
https://www.acmicpc.net/problem/1463이건 뭐 간단한 DP문제라 그냥 슥슥 풀었다.int Dp1000001;int min(int a, int b) { return a > b ? b : a;}int main(void) {}
https://www.acmicpc.net/problem/1075이 문제는 함정이라고 하긴 뭐 하지만 함정같지 않은 함정이 있다.나누어 떨어지는 분자를 찾아야 하는데 주어진 값에서 나누어 떨어지지 않으면 끝에 두 자리를 바꿔야하고 가능한 작게 만들어야 한다.
https://www.acmicpc.net/problem/2292규칙이 한눈에 보인다.2 ~ 7은 2개의 방을 지나가고8 ~ 19는 3개의 방을 지나가고20 ~ 37은 4개의 방을 지나간다.a + bx = 5 + 6i 를 써서 반복문을 돌렸다.int main(
https://www.acmicpc.net/problem/1193아 예제 입출력 드럽게많네ㅡㅡ우선 문제에서 패턴을 찾아야 한다. ㅋㅋㅋㅋㅋㅋㅋ그림판 ㅈㅅ간단한 패턴은 다음과 같다.위 그림을 2차원 배열이라고 생각하지 말고 1차원 배열로 쭉 늘어뜨려보자. 1/1
https://www.acmicpc.net/problem/2869제목은 귀여웠지만 문제는 전혀 귀엽지 않은 문제..?시간 제한에서 (추가 시간 없음) 보고 뒤로가기 누를려다 참음ㅋㅋ알고리즘 수행시간 줄이는 건 잘 못해서 항상 이런 문제는 피하다가 처음으로 도전
https://www.acmicpc.net/problem/1011 > ## Idea 문제를 잘 보면 이동 거리는 1에서 시작해서 1로 끝나야 한다. 그렇게 생각해보면 웬만하면 피라미드 구조를 가진 수열이 나올 것이고 그 수열에서 규칙을 찾아 문제를 풀면 되지 않을까? 네 항상 말은 쉽죠.. y - x는 총 이동해야 할 거리이다. 10만큼 이동할 때 필...
https://www.acmicpc.net/problem/10757 > ## Idea 이 문제는 언어빨이 많이 타는 듯 하다. 트렌디한 언어를 써야하는 이유.... 당연히 정수 자료형으로는 에러가 뜬다. 그러면 문자열을 쓰면? 문자열을 이용해서 수를 계산하는 문제에는 항상 아스키 코드가 따라온다. https://www.ascii-code.com/ 순서...
https://www.acmicpc.net/problem/2775 > ## Idea 너무 쉬워서 아무생각 없이 품. .. > ## Code ㅋ
https://www.acmicpc.net/problem/1978 > ## Idea 소수는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수다. 1부터 입력된 값까지 반복문을 돌리면서 입력값과 i값을 나누어 나머지가 0이 된다면 그 수는 소수가 아니다. 반
https://www.acmicpc.net/problem/2581int main(void) { int m, n, min = 10001, st = 0; int flag = 0;}
https://www.acmicpc.net/problem/11653엄.. 그냥 하니까 되던데요....i를 2부터 증가시켜서 나머지가 0이 되면 i로 입력값을 나누고 그 몫을 다시 나누기를 반복하면 된다.
https://www.acmicpc.net/problem/1929처음엔 이전에 하던 방식으로 뚞딱 하고 제출했는데 ?ㅋㅋ 뭔가 문제가 있어보인다. 코드를 보면당연히 오류가 생길 만하다. 시간제한이 2초로 걸려있는 문제에서 시간복잡도를 줄이는 것은 굉장히 중요하
https://www.acmicpc.net/problem/4948전역기념 문제풀이 ^^알고리즘은https://velog.io/@p3pwp3p/baekjoon-1929요고랑 같고 조금만 생각하면 코드가 바로 나옴.쉬우니 설명 생략귀찮아서 그러는 거 아님
https://www.acmicpc.net/problem/9020우선 앞에 했던 것처럼 NL JOIN 을 이용해서 소수를 구한다.구한 다음 입력값 n / 2 부터 1씩 감소하는 반복문의 조건을 arrj == 0 && arrn - j == 0즉, 감소한 값, 입
https://www.acmicpc.net/problem/15596다른 함수는 귀찮아서 안 했고 원래 쓰던 C로 했다.처음에는 함수만 구현하면 되는 문제인지 몰랐고 혼자 main함수도 따로 구현하면서 뻘짓했지만 내 제출이 틀렸대.. 그래서 구글에 찾아보니 함수
https://www.acmicpc.net/problem/4673셀프넘버는 소수가 아닌 수랑 개념이 비슷하다고 생각한다. 솔직히 무슨 소린지 몰라서 찾아보고 한참만에 이해했다 . .arr 배열을 모두 0으로 초기화 시켜준다.1부터 10000까지 증가하는 반복문
https://www.acmicpc.net/problem/10651~99까지는 모두 한수이기 때문에 제외하고, 100~1000까지는 백의 자리 - 십의 자리 , 십의 자리 - 일의 자리 가 같을 경우 한수라고 판단했다.int getResult(int n);in
https://www.acmicpc.net/problem/2941
https://www.acmicpc.net/problem/1316int main(void) { char arr101 = { NULL, };}
https://www.acmicpc.net/problem/24473의 거듭제곱인 값(3, 9, 27 ...)을 입력받는데, 3을 입력받는 경우 3x3인 정사각형 별이 그려지고 9인 경우 9x9, 27인 경우 27x27의 정사각형이 그려진다. 출력값에는 별과 공
https://www.acmicpc.net/problem/117291번 기둥을 출발 2번 기둥을 보조 3번 기둥을 도착 기둥이라고 생각하자.그럼 하노이 탑 함수의 코드는 다음과 같다N이 3인 경우를 예시로 생각해보자. 원판은 총 3개이고 출발 기둥에서 도착 기
https://www.acmicpc.net/problem/2798정말 무식한 알고리즘..... 모든 경우의 수를 다 생각해서 코드를 작성하고 출력하면 된다int main(void) { int arr100 = { 0, }; int N, M, result = 0;
https://www.acmicpc.net/problem/2231그냥 뭐.. 브루트 포스 답게 때려넣고 풀었다. 반복문 시작 조건을 N / 2로 함으로써 조금이라도 복잡함을 줄여줬다.int main(void) { int N, X = 0; int result =
https://www.acmicpc.net/problem/7568전체 집단 사람들의 순위를 1로 초기화 시켜주고, 만약 나보다 덩치가 큰 사람이 있으면 순위를 1만큼 올려주는 방식으로 문제를 해결했다.덩치가 큰 사람이라고 하면 X값과 Y값이 나보다 큰 사람을
https://www.acmicpc.net/problem/2750https://www.geeksforgeeks.org/bubble-sort/Bubble Sort 구현
https://www.acmicpc.net/problem/2751원래 정렬은Quick Sort 를 직접 구현해서 사용했지만 자꾸 시간 초과가 나왔다..내 코드에 문제가 있는지 언어의 한계인지 뭐가 문제인지 몰라 이것저것 다 해봤다.다른 사람의 퀵 정렬 코드를
https://www.acmicpc.net/problem/10989처음엔 그냥 젤 빠른 Quick Sort쓰면 되는 거 아님? 하고 제출했는데 메모리 초과 ㅋㅋ내 코딩 세계에서 제일 효율 좋고 빠르다고 생각되던 Quick Sort 알고리즘이 또 실패했다.c언어
https://www.acmicpc.net/problem/2108우선 qsort로 정렬 후 산술평균, 중앙값, 최빈값, 범위의 사용자지정 함수를 각각 만들었다. 다른 건 쉬웠는데 최빈값 녀석이 머리를 아프게 했다.조건이 좀 까다로웠는데 여러 개 있을 경우 최빈
https://www.acmicpc.net/problem/1427시간이 무려 0ms 미만으로 나온 깔끔한 문제. Counting Sort 알고리즘을 사용했다. 한 번 배워놓으니 유용하게 잘 쓰이는 정렬 알고리즘인 것 같다^^\*int main(void) { i
https://www.acmicpc.net/problem/116502차원 배열은 qsort를 못 쓰는 줄 알고 혼자 버블정렬, 선택정렬 등 이것저것 다 해봤다.수많은 실패의 흔적들 ㅋㅋ2차원 배열 정렬 시간초과를 구글링 해 보다가 구조체를 써서 정렬을 하라네?
https://www.acmicpc.net/problem/1181,,typedef struct \_Arr { char str51; int len;}Arr;int compare(const void a, const void b);int main(void) { in
https://www.acmicpc.net/problem/10814가입한 순서대로 숫자를 입력해주고 비교하며 qsort를 써주면 됨.qsort짱짱맨typedef struct \_Person { char name101; int idx; int age;}Perso
https://www.acmicpc.net/problem/18870우선 좌표압축이란 말을 제대로 이해해야 한다. 참고 : https://medium.com/algorithms-digest/coordinate-compression-2fff95326fb대
답은 네 개가 나올 수 있다. x, (w - x), y, (h - y)최솟값 구하면 답이 나온다.int main(void) { int x, y, w, h;}
> ## Code
집합론으로 분류되어 있지만 사실은 Dynamic programming 문제임표를 그려서 규칙을 찾으면 쉽게 답을 작성할 수 있다.int main(void) { int T; int n, m; long long int result32 = { 0, };}
이건 뭐....여는 괄호일 때 cnt++, 닫는 괄호일 때 cnt-- 를 해준다.하지만 변수 cnt가 음수로 넘어가는 순간 그 문자열은 여는 괄호 없이 닫는 괄호가 생긴 것.그 땐 NO를 출력해주면 된다.int main(void) { int T; int length =
eulidean algorithmhttps://en.wikipedia.org/wiki/Euclidean_algorithm// Euclidean-algorithmint gcd(int a, int b) { int r;}int main(void) { int t; i
Overflow를 예방하기 위해 연산을 할 때마다 10으로 나눈 나머지(일의 자리)를 변수에 저장해야 값이 커지는 것을 막을 수 있다. int main(void) { int t; int a, b;}
int main(void) { int n, k; }
int main(void) { int n;}