Programming/[BAEKJOON] acmicpc
-
9012번 괄호 풀이Programming/[BAEKJOON] acmicpc 2018. 1. 20. 16:35
[문제] https://www.acmicpc.net/problem/9012 문제가 읽어보면 굉장히 간단합니다.[입력/출력] 처음 이 문제를 접했을때 간단하게 생각을 했습니다. '(' 가 입력될때 + 해주고 ')' 입력되면 - 해주면 마지막에 결국 '(' 개수와 ')' 개수가 동일한 결과만( ex) if(count == 0) ) YES를 출력하게 하면 되겠구나~ 그렇게 작성한 소스코드가 trouble에 있습니다.. http://hackstoryadmin.tistory.com/40?category=270793 여기 들어가보면 동일한 알고리즘으로 작성한 소스코드를 보실 수 있습니다.(삽질의 흔적) 하지만 한가지 생각을 못했던 것이 있습니다. 바로 이런 결과입니다. )( -> 즉 괄호가 닫히지 않아서 문제에서 ..
-
2941번 크로아티아 알파벳 풀이Programming/[BAEKJOON] acmicpc 2018. 1. 17. 04:25
[문제] https://www.acmicpc.net/problem/2941 크로아티아 알파벳을 문장에서 찾아서 count++ 해주면 된다. 또 예를 드는 부분에 크로아티아 알파벳을 제외한 알파벳도 개수를 더하는것을 볼 수 있는데 왜그러는지는 모르겠지만 크로아티아 알파벳을 제외한 알파벳 또한 count++ 하고 마지막에 출력해주면 된다. [풀이] #include int main(){char arr[100];int i,len,count = 0;scanf("%s",arr);i = 0;while(arr[i]) //문장의 길이를 알기위함.{i++;}len = i;for(i = 0; i < len; i++) //문장에서 크로아티아 알파벳을 찾기 위함.{if(arr[i] == 'c' && (arr[i+1] == '=..
-
10828번 스택 풀이Programming/[BAEKJOON] acmicpc 2018. 1. 13. 18:18
[문제] https://www.acmicpc.net/problem/10828 [입력/출력] [ex] 시스템을 공부하면서 스택에 대한 공부를 했던 기억이있는데 직접 스택을 구현하면서 스택 구조에 대해 상기 시키는 기회가 되었습니다. strcmp함수를 적절히 사용하여 입력한 문자열에 따라 다르게 동작하도록 코딩하였습니다. [풀이] #include #include int main(){int input,i,j,count = 0;scanf("%d",&input);char opcode[input][5];int operand[input];for(i = 0; i < input; i++){scanf("%s",&opcode[i]);if(!strcmp(opcode[i],"push")) // 입력한 문자열이 push일때 op..
-
1100번 하얀 칸 풀이Programming/[BAEKJOON] acmicpc 2018. 1. 9. 13:25
[문제] URL : https://www.acmicpc.net/problem/1010 [입력/출력] 이렇게 8*8 총 64개 칸을 가진 체스판에서 말이 있다면 F 없다면 . 문자를 입력한다. 뭐.. 2진수라고 생각을 하면 될듯.... 그렇게 2진수로 생각을 해서 나타내보면 체스판은 이렇게 표현이 가능하다. 0) 0 1 0 1 0 1 0 11) 1 0 1 0 1 0 1 02) 0 1 0 1 0 1 0 13) 1 0 1 0 1 0 1 04) 0 1 0 1 0 1 0 15) 1 0 1 0 1 0 1 06) 0 1 0 1 0 1 0 17) 1 0 1 0 1 0 1 0 [풀이] #include int main(){char arr[8][8]; // 2차원 배열 선언 -> 8 * 8int count = 0,i,j; ..
-
1026번 보물 풀이Programming/[BAEKJOON] acmicpc 2018. 1. 3. 06:03
1026번 보물 풀이 시작합니다. 문제는 이러합니다. 이 문제의 정답 비율이 60%가 넘는다는 사실을 잊고 너무 어렵게 생각을 해서..시간을 낭비했습니다ㅠ [힌트]중요한건 어렵게 생각하지 않는것인것 같습니다. ㅎ 문제의 요지는 단순하게 A를 재배열하고, B를 재배열하면 안됩니다. 이 문제에서는 단순히 입력을 받는 B배열을 재배열하면 틀리게끔 해놓은것 같습니다. 그렇다면 정말 단순하지만 B의 배열에 있는 원소를 고대로! 다른 배열을 만들어 그 배열에 똑같이 넣어주고 정렬하면 되겠죠? 정렬은 A배열은 작은수 순서대로, B는 큰수 순서대로 정렬해주면 문제가 요구한 정답이 나오게됩니다. 네 그러면 됩니다. ㅎ 풀이 공개합니다. [풀이 소스코드] #include int main(){int input,i,j,tmp..
-
1037번 약수 풀이Programming/[BAEKJOON] acmicpc 2018. 1. 2. 01:25
4시간 삽질을 해버렸네요... [문제] [풀이] #include int main(void){int input,i,j,temp;scanf("%d",&input);int arr[input];for(i = 0; i arr[j+1]){temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}printf("%d",arr[0] * arr[input-1]);return 0;} 허무하지만 예외처리 필요없고 정렬 잘해서 첫번째 값과 마지막 값 곱해주면 됩니다. ㅠㅋㅋㅋ 그리고 혹시 이 문제를 푸신 분..
-
1002번 터렛 풀이Programming/[BAEKJOON] acmicpc 2017. 12. 30. 18:11
이 문제를 풀기 위해 꼬박 하루가 걸렸네요. 풀이를 한 후 맞으면 성취감이 너무 크네욯ㅎㅎㅎ 문제는 이러합니다. 문제 풀이를 위해 r을 반지름으로 생각하시면 문제에 대한 이해는 가능합니다. 좌표를 그려보고 원의 접점을 확인해보고, 접점이 어떻게해야 나오는지(두 점 사이의 거리와 반지름의 관계)를 파악한다면 코딩은 쉽습니다. 바로 풀이한 소스를 공개합니다. [답안] #include #include int func(int x1, int y1, int r1, int x2, int y2, int r2);int main(void){int input;int i;int x1,y1,r1,x2,y2,r2;scanf("%d",&input);int result[input];for(i = 0; i < input; i++){s..
-
1008번 A/B 풀이Programming/[BAEKJOON] acmicpc 2017. 12. 27. 23:18
오늘부터 코딩문제를 풀기로 하였습니다. 해킹 원리를 학습함에 있어서 프로그래밍 능력이 필수적이라고 생각합니다. 아주 어처구니 없는 문제부터 시작하겠지만 저에게는 10문제 빼고는 다 어려울듯 싶습니다. ㅠ.ㅠ 그럼 허접한 풀이를 시작합니다. 이렇게 문제가 주어졌습니다. 간단하쥬? [답안] 바로 공개합니다. ㅎㅎ 아 물론 제가 쓴 답안입니다. ㅎㅎㅎㅎㅎ [답안] #include int main(void){double i,j;scanf("%lf %lf",&i,&j);printf("%.30f",i/j); return 0;} 의외로 이 문제의 정답비율이 낮더라구요. 저도 생각해내는데 있어 조금 시간이 걸렸지만 기초가 튼튼하신 여러분은 실패없이 풀이 하셨을것이라 믿습니다. 중요한 부분은 빨간색을 해놨습니다. 피연산..