전체 목록! 299

[BOJ]2309번: 일곱 난쟁이

2309: 일곱 난쟁이 풀이무식하게 brute force를 해보자. 제한된 상황에서는 이런 좋은!! 알고리즘이 어디 있겠는가. 처음에 어떻게 풀어야 할 지 모르겠어서 헤맸다. 나는 어떻게 풀었냐면 일단 9명의 키를 다 더한다.그리고 키 순서 대로 정렬을 시켰다. 반복문을 돌면서 sum - (i번째 값 + j번째 값) == 100이 되면 i와 j의 인덱스를 저장해서 출력을 할 때 그 인덱스는 거르고 출력 할 수 있게 했다. 코드123456789101112131415161718192021222324252627282930#include #include using namespace std; int arr[9], i, j, sum =0, save_index1, save_index2; int main(){ for ..

온라인저지 2017.09.03

[BOJ] 2477번: 참외밭

링크 : https://www.acmicpc.net/problem/2477 2010년 초등부 3번 문제다. (4,5번은 나중에 풀어봐야겠다) 이 문제는 입력 값이 어떻게 주어지든 간에 이.어.져.서 주어진다는 것을 이용하면 된다.직사각형 넓이 최대값 구하는 것은 쉽고 (가로, 세로 MAX 값 구해서 곱해주면 된다. 이것 또한 가로, 세로는 연결되어 있으니깐 잘 이용하면 된다!),작은 직사각형을 구해서 빼줘야 한다. 근데 여기서 알아야 할 것이 참외밭은 무조건 육각형이라는 것이다.그렇기 때문에 가로, 세로의 최대값이 나온 지점에서 가로의 index를 i라고 하면 i를 +3, +4 해준 값을 곱하면 작은 직사각형이라는 것이다!"잘 모르겠으면 그림을 보면서 비교를 해보자."그렇게 해서 최대 직사각형 넓이를 구..

온라인저지 2017.08.26

[BOJ]2476번: 주사위 게임

링크 : https://www.acmicpc.net/problem/2476 2010년 초등부 2번 문제다. 이 문제는 MAX 함수랑 비교 연산만 해주면 된다.쉬우니깐 코드로 바로 가시죠.123456789101112131415161718192021222324252627282930#include #include using namespace std; int maxiiii(int a, int b) { return a > b ? a : b; }int main(){ int n, a[1002][3], result[1002],MAX = 0; cin >> n; for (int i = 0; i > a[i][0] >> a[i][1] >> a[i][2]; if (a[i][0] == a[i][1] && a[i][1] == a[..

온라인저지 2017.08.26

[Ollydbg]명령어

기본 명령어명령어 단축키 설명 Restart [Ctrl + F2] 다시 처음부터 디버깅 시작 Step into [F7] 하나의 OP code 실행(CALL 명령을 만나면, 그 함수 코드 내부로 따라 들어감) Step Over [F8] 하나의 OP code 실행(CALL 명령을 만나면, 따라 들어가지 않고 그냥 함수 자체를 실행) Execute till Return [Ctrl + F9] 함수 코드 내에서 RETN 명령어까지 실행(함수 탈출 목적) 명령어 단축키 설명 Go to [Ctrl+G] 원하는 주소로 이동(코드/메모리를 확인할 때 사용. 실행되는 것 X) Execute till Cursor [F4] cursor 위치까지 실행(디버깅하고 싶은 주소까지 바로 갈 수 있음) Comment ; Comment..

카테고리 없음 2017.08.23

[선린 정올 후기]まだ부족ですね。

어제 선린 정올을 했다. 예비 정올반인 나에게는 그냥 대충 봐서는 안되는 중요한 대회. 결과는 내 기억으로는 40점 받았는데 2번 패널티 걸려서 깎였을 거다. 암튼 망했음.아직 많이 부족하다는 것을 느끼기도 했고, 아직 까지도 알고리즘이 익숙하지 않아서 인지, 정작 대회에서는 알고리즘 쓰지도 않았다.내가 푼 문제도 반타작으로 맞은 건데 이 문제 만점 받은 선배는 이진 탐색을 통해 푸셨다고 한다. 나도 물론 시간이 좀 남았길래 이 반타작 코드를 어떻게 하면 100점 짜리 코드로 만들까 싶었는데... 참 아깝다. 여태 까지 정올 하면서 이런 저런 알고리즘이 있는 것도 알게 되고 공부를 어떻게 해야 할 지 감을 잡게 해준 계기가 된 것 같다.나무를 보기 전에 숲을 먼저 보는 그런 과정을 거쳤을 까나... 알고..

개인 2017.08.19

[BOJ]1735번: 분수 합

1735번: 분수 합 https://www.acmicpc.net/problem/1735 이 문제는 심심풀이로 올려본다.중학교? 이상이면 다 풀 수 있는 문제다. 근데 여기서 기약 분수로 해줘야 하므로, 분모에 있는 값과 분자에 있는 값의 최대 공약수를 구해서 그 수로 나눠주면 기약분수가 된다. 최대 공약수를 구하는 방법은 유클리드 아저씨가 만드신 유클리드 호제법이라는 게 있는데 굉장히 좋당... 유클리드 호제법(위키피디아): https://goo.gl/gsRPhY 링크를 남겨둘 테니, 한번 쭉 읽어보길 바랍니다. 1234567891011121314151617181920#include int gcd(int a, int b) { return b ? gcd(b, a % b) : a; } int main(voi..

온라인저지 2017.08.13

[BOJ]11507번: 카드셋트

11507번: 카드셋트https://www.acmicpc.net/problem/11507 1.하나의 통 문장으로 받을 배열 하나. 2. 카운트 배열 하나.3. 확인용 bool형 2차원 배열 하나 [숫자 개수][모양 개수](#include 필수. C99이후부터 있다) a, b에서 a는 숫자의 10의 자리를 받는 것이고, b는 1의 자리를 받는 것이다.Cc는 'Clone c'이라고 대회 도중이라 대충 썼는데, char c의 정수형을 받는 것이다.(아마 굳이 이렇게 안 해줘도 되긴 할 거다.) 문자열에서 char형인 숫자를 int형으로 바꾸는 방법은 한 자리 수 일때, str[i] - '0'를 해주면 된다. 나머지는 for문을 str의 길이만큼 돌면서 처리해주면 된다. 1234567891011121314151..

온라인저지 2017.08.13