본문 바로가기

전체 글

시간복잡도와 공간복잡도 나름 자료구조와 알고리즘 수업을 들은 짬으로 시간복잡도 O가 몇이냐는 건 구할 수 있다. 그런데 시간 복잡도가 얼마냐에 따라 몇 초안에 돌 수 있는지는 잘 몰랐다. 더보기
14568 2017 연세대학교 프로그래밍 경시대회 어렵다.. 어려워서 생각 많이 했다. 일단 먼저 조건부터 적고 어떻게 할지 고민했음 생각한게 하나하나 구하기는 너무 어렵고 (어떻게 하는지도 모르겠고) 한 사람의 범위를 정한 다음 그 범위에 경우의 수가 몇 개나 있는지 세는게 좋을 것 같다. 택희가 짝수개만 사탕을 먹어서 for문으로 개수 세려고 했는데 보니깐 그냥 반 나누니깐 짝수의 개수가 나온다. 조건을 정리했다. 짝수 개 사탕을 구할 때 0이면 빠져나오게 짜려 했는데 안 그래도 될 것 같아서 뺐다. 로직 생각하는건 어려웠는데 막상 코드는 간단하다. 앞으로 이런 문제들을 계속 보겠지,... 아무튼 맞았음 더보기
3009 네 번째 점 #include using namespace std; int main() { int x1, x2, x3; int y1, y2, y3; scanf("%d %d %d %d %d %d", &x1, &y1, &x2, &y2, &x3, &y3); if(x1 == x2) printf("%d ", x3); else if(x3 == x2) printf("%d ", x1); else printf("%d ", x2); if(y1 == y2) printf("%d", y3); else if(y3 == y2) printf("%d", y1); else printf("%d", y2); } 조건문으로 다른 거 하나 찾았다! #include int main() { int x1, x2, x3; int y1, y2, y3; scanf(".. 더보기
2566 최댓값 #include int main() { int num, max = -1; int x, y; for(int i = 1; i 더보기
2501 약수 구하기 #include int main() { int n, k, count = 0; scanf("%d %d", &n, &k); for(int i = 1; i 더보기
2965 캥거루 세마리 처음에 아니 이게 무슨 문제야 싶었는데 그려보니 어떻게 굴러가는지 알겠다. 그리고 최댓값도 알겠다. 둘 사이 거리가 큰 쪽으로 뛰어야 하고, 뛰는 양은 그 사이 공간의 길이만큼 뛸 수 있다. if문으로 짜려다가 아차하고 바로 max문으로 짰다. #include #include using namespace std; int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); printf("%d", max(b-a-1, c-b-1)); } 간단한 코드~~ 더보기
10824 네 수 #include using namespace std; using i64 = long long; int main() { string a, b, c, d; cin >> a >> b >> c >> d; a.append(b); c.append(d); i64 sum1 = stoll(a); i64 sum2 = stoll(c); cout 더보기
10250 ACM 호텔 택시기하학의 영향으로 처음에 기하학문제인줄 알았다. 그런데 문제를 읽어보니 엘리베이터가 있고 가장 아래쪽에서 방을 차지하기 때문에 사진과 같은 순서로 방이 찬다고 생각했다. 이렇게 하면 조건에 맞게 채워질 줄 알았음 #include int main() { int t, h, w, n; scanf("%d", &t); for(int i = 0; i < t; i++){ scanf("%d %d %d", &h, &w, &n); printf("%d%02d\n", n%h, n/h + 1); } } 그래서 코드를 이렇게 짰다. 한 줄 입력받아 한 줄 출력하게끔 하고, 몫과 나머지를 구하는데 한자리 수를 출력할때는 0을 붙여야 하므로 %02d를 사용했다. 그리고 예제 입력을 돌려봤는데 그대로 나왔다. 하지만 실패..ㅎㅎ .. 더보기