Algorithm, Data structure/Solved Algorithmic Problem 120

BAEKJOON 1032 - 명령 프롬프트

문제: https://www.acmicpc.net/problem/1032 오랜만에 손에 잡은 문제이자, 문제가 너무 쉬워 어딘가에 함정이 있을거라 한참을 찾아본 문제네요 ㅋㅋ; 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include #include #include #include #include #include using namespace std;const int MAX_N = 50; int main(){ string characters[MAX_N][MAX_N]; int n; int strLength = 0; cin >> n; for (int i = 0; i > str; strLen..

BAEKJOON 1030 - 프렉탈 평면

문제: https://www.acmicpc.net/problem/1030 값을 미리 배열에 모두 넣어두면 편할테지만 메모리 문제로 규칙을 찾아 값을 얻는 방법을 사용했습니다. my solvingc++123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include #include #include #include #include using namespace std; int s, n, k;int length; int getColor(int y, int x){ if (y == 1) int temp = 0; int unit = length / n; int border = (n - k) / 2; while (..

BAEKJOON 1028 - 다이아몬드 광산

문제: https://www.acmicpc.net/problem/1028 memoization 과 현재 최대값보다 작은 다이아몬드는 계산하지 않는 가지치기 방법으로 시간 복잡도를 줄여 풀었습니다. my solvingc++12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712..

BAEKJOON 1027 - 고층 건물

문제: https://www.acmicpc.net/problem/1027 처음에는 외적을 이용한 ccw 알고리즘으로 풀어봤는데(밑에 코드) 이상하게도 80% 정도에서 오답이 나와 간단하게 기울기를 구하는 방법으로 풀어봤습니다. 외적을 이용한 방법은 왜 틀렸는지 잘 모르겠네요;;; my solvingc++123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#include #include #include #include #include #include using namespace std; int main(){ int n; cin >> n; vector heights; for..

BAEKJOON 1026 - 보물

문제: https://www.acmicpc.net/problem/1026 1000번과 1001번 이후로 가장 쉬운 문제인거 같네요. my solvingc++12345678910111213141516171819202122232425262728293031323334353637383940#include #include #include #include #include #include using namespace std;typedef long long ll; int main(){ int n; cin >> n; vector a, b; for (int k = 0; k num; if (k == 0) a.push_back(num); else b.push_back(num); } } sort(a.begin(), a.end(..

BAEKJOON 1024 - 수열의 합

문제: https://www.acmicpc.net/problem/1024 1023번 문제에서 씨름하다가 이렇게 쉬운 문제를 만나니 상당히 반갑네요 ㅋ수열의 합은 간단하게 n(n+1)/2 를 응용해서 계산하고 l 이 최대 100이므로 시간 복잡도도 크게 신경안쓰고 풀 수 있었습니다. my solvingc++123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include #include #include #include #include using namespace std;typedef long long ll; ll sum(ll startNum, int n){ if (n % 2 == ..

BAEKJOON 1022 - 소용돌이 예쁘게 출력하기

문제: https://www.acmicpc.net/problem/1022 규칙성을 찾아 좌표에 따른 각 숫자를 얻는 함수를 만들어 문제를 풀었습니다. my solvingc++123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778#include #include #include #include #include #include using namespace std; int getDigit(int n){ int ret = 0; while (n > 0) { ret++; n /= 10; } return ret;..

BAEKJOON 1021 - 회전하는 큐

문제: https://www.acmicpc.net/problem/1021 front 와 back 의 삽입과 삭제가 자유로운 std::list 을 이용해 풀어봤습니다. my solvingc++1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980#include #include #include #include #include #include #include using namespace std; list numbers; void pushLeft(){ int temp = numbers.front()..

BAEKJOON 1019 - 책 페이지

문제: https://www.acmicpc.net/problem/1019 우선 bruteForce 방법으로 몇 개의 숫자를 넣어 규칙을 찾아 문제를 풀었습니다.규칙은 99, 999, 999 그리고 199, 299, 399, 499 등을 넣어보면 발견할 수 있습니다. my solvingc++12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411..

BAEKJOON 1018 - 체스판 다시 칠하기

문제: https://www.acmicpc.net/problem/1018 더 좋은 풀이법이 있을 것 같긴하지만 완전 탐색으로도 충분히 시간내에 풀 수 있어 완전탐색으로 풀었습니다. my solvingc++1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#include #include #include #include #include #include #include using namespace std; const int MAX_N = 50; int height, width;//0 is black, 1 is white. means b..