본문 바로가기

전체 글

10817 세 수 전에 이 문제를 푼 적이 있었다. 그 때는 조건문 여섯개 써가지고 구했는데 이번에는 우선순위 큐를 써봤다. max, min으로는 못 구하려나 생각 했지만 이것보다는 큐가 더 나아보여서 큐로 짰다. #include #include using namespace std; int main() { priority_queue pq; int a, b, c; scanf("%d %d %d", &a, &b, &c); pq.push(a); pq.push(b); pq.push(c); pq.pop(); printf("%d", pq.top()); } 간단하다. 큐에 넣으면 가장 큰 값이 앞으로 가므로 큐에 값을 다 집어넣고 하나를 빼주면 두번째 값이 맨 앞에 온다. 더보기
2439 별 찍기 - 2 별찍기 저런식으로 적으면서 하면 쉽다 #include int main() { int n; scanf("%d", &n); for(int i = 1; i 더보기
3053 택시 기하학 문제 항상 위에서 아래쪽으로 순서대로 푸는데 이 문제는 너무 풀기 싫어서 미뤄뒀다. 그러다 이제 기초2 문제는 다 풀고 이 문제만 남아서 억지로 풀기 시작했다. 먼저 입력과 출력을 정의했다. 택시 기하학은 또 뭐야.. 힌트에 유클리드 기하학 위키가 있길래 읽었다. 3개 다 읽었는데 그래도 잘 모르겠다ㅋㅋㅋ 그래도 택시 기하학이 뭔지는 알겠다. 설마 택시 했는데 진짜 택시였다. 유클리드 기하학이 a에서 b로 갈 때 최단경로로 대각선을 긋는다면 택시 기하학에서는 대각선 말고 좌표 선을 따라 움직인다. 택시 기하학이 원의 정의를 만족시킨다는 것도 뭔지 알겠다. 저 마름모 모양이 택시 기하학에서는 한 점에서 모든 거리가 같다. 그래서 넓이는 마름모의 넓이로 구할 수 있다. #include int main() {.. 더보기
15727 조별과제를 하려는데 조장이 사라겼다 #include int main() { int l; scanf("%d", &l); printf("%d", (l + 4)/5); } 올림 문제였다. 달팽이 나무타는 문제랑 비슷해서 쉽게 풀었다. 여담이지만 처음에 초파리 다리털 개수 구하라 할까봐 조금 걱정했다. 더보기
15873 공백 없는 A+B #include int main() { int n; scanf("%d", &n); printf("%d", n/10 + n%10); } 보자마자 아 조빱문제내; 하고 바로 풀어서 냈다 그리고 틀렸다ㅋㅋㅋ 입력 조건을 대충 봐서 0 n) printf("%d", n/10 + n%10); else if(n % 10 == 0) printf("%d", n/.. 더보기
17362 수학은 체육과목 입니다 2 전에도 체육과목인줄 알았지 수학이었다 규칙 찾는다고 막 하다가 어찌저찌 찾았다 열심히 짰는데 틀렸다 필기를 보면 알겠지만 중지를 두 번 적었다. 그리고 5번에 새끼인데 약지를 적어놨다. 그래서 코드에도 똑같이 잘못 적어서 틀렸다. 이래서 설계를 잘해야 하나보다 #include int main() { int n; scanf("%d", &n); switch(n % 8){ case 1: printf("1"); break; case 2: case 0: printf("2"); break; case 3: case 7: printf("3"); break; case 4: case 6: printf("4"); break; case 5: printf("5"); break; } } 조금 더 잘 짤 수 있을거란 느낌은 오는데.. 더보기
5575 타임카드 입력이 너무 많았다! 그래서 어쩌지 하다 3*3짜리 배열을 2개 만들어서 하나는 출근을 하나는 퇴근을 다룰까 생각했는데 보니 하는 일이 같아서 반복문으로 한줄한줄씩 처리하기로 했다. #include int main() { int ah, am, as; int bh, bm, bs; int time1, time2; for(int i = 0; i < 3; i++){ scanf("%d %d %d", &ah, &am, &as); scanf("%d %d %d", &bh, &bm, &bs); time1 = ah*3600 + am*60 + as; time2 = bh*3600 + bm*60 + bs; printf("%d %d %d\n", (time2 - time1)/3600, (time2 - time1)%3600/60, .. 더보기
10768 특별한 날 #include int main() { int month, day; scanf("%d %d", &month, &day); //printf("%d %d", month, day); if(month > 2) printf("After"); else if(month 18) printf("After"); else printf("Special"); } } 너무 쉽다 생각해서 글도 안 적었는데 더 좋은 방법이 있었다! pair를 쓰면 되는데 이거에 대해 처음 들어봐서 뭔지 찾아봤다. pair 두 객체를 하나의 객체로 취급할 수 있게 해준다 사용법 pair date : pair 클래스 da.. 더보기