온라인저지 144

[BOJ] 11651번: 좌표 정렬하기 2

https://www.acmicpc.net/problem/11651 11650번: 좌표 정렬하기에 이은 STL 연습용 문제다. 주어진 조건에 따라 코드로 잘 적으면 된다. #include #include #include #include using namespace std; bool COMP(const pair &a, const pair &b) { if (a.second == b.second) return a.first < b.first; return a.second < b.second; } int N; vector v; int main() { scanf("%d", &N); for (int i = 0, a, b; i < N; ++i) { scanf("%d %d", &a, &b); v.push_back(ma..

온라인저지 2018.07.26

[BOJ] 11650번: 좌표 정렬하기

https://www.acmicpc.net/problem/11650 문제에서 하라는데로만 하면 되는데 COMP함수만 잘 짜면 된다.(주어진 조건에 따라서...) STL을 연습하는 문제였다. #include #include #include #include using namespace std; bool COMP(const pair &a, const pair &b) { if (a.first == b.first) return a.second < b.second; return a.first < b.first; } int N; vector v; int main() { scanf("%d", &N); for (int i = 0, a, b; i < N; ++i) { scanf("%d %d", &a, &b); v.push..

온라인저지 2018.07.26

[BOJ] 2747번: 피보나치 수

https://www.acmicpc.net/problem/2747 n번째 피보나치 수를 출력하는 문제다. 재귀 또는 반복문으로 풀 수 있다. + 메모이제이션 #include int dp[46] = {0, 1, 1, 2}; int fibo(int n) { if (dp[n]) return dp[n]; return dp[n] = fibo(n - 1) + fibo(n - 2); } int main() { int N; scanf("%d", &N); printf("%d\n", fibo(N)); return 0; } #include int main() { int f[100], n; f[0] = 1, f[1] = 1; scanf("%d", &n); for (int i = 2; i

온라인저지 2018.07.26

[BOJ] 2750번: 수 정렬하기

https://www.acmicpc.net/problem/2750 정말 여러 가지 방법으로 풀 수 있다. 우선순위 큐, 정렬 등등... (아마 set이나 map으로도 가능할 거다) 우선순위 큐는 기본적으로 큰 수부터 pop 하기 때문에 -를 붙여서 넣어주고 -를 붙여서 빼주면 오름차순으로 pop 할 수 있게 된다. 아니면 우선순위 큐 정의할 때 의 greater를 사용하면 가능하긴 하지만 귀찮으니까 위의 방법을 애용하자. // 우선순위 큐로 해결하기 #include #include using namespace std; priority_queue pq; int main() { int n; scanf("%d", &n); for (int i = 0, a; i < n; ++i) { scanf("%d", &a);..

온라인저지 2018.07.26