목록알고리즘 (107)
DY의 세상구경

#define _CRT_SECURE_NO_WARNINGS#include #include using namespace std;int main(){ int N; scanf("%d", &N); int nLong = N / 4; for (int i = 0; i 백준 온라인 단계별 풀어보기 반복문 단계.

#define _CRT_SECURE_NO_WARNINGS#include using namespace std;int main(){ int X, N, a, b; scanf("%d", &X); scanf("%d", &N); int total = 0; for (int i = 0; i BOJ 반복문 탭을 다시 하나씩 풀어본다. 쉬운문제.

최소 힙을 써볼 일이 있어서 개념도 집고 넘어갈 겸 문제를 풀어 보았다.#define _CRT_SECURE_NO_WARNINGS#include #include using namespace std;#define MAX_SIZE 100001 class MinHeap {private: int heap[MAX_SIZE]; // heap[0] : top(smallest) item int heap_size = 0; int root = 1; // 0번은 안쓰고 1번부터 쓸 예정 // 부모 노드 인덱스 계산 int parent(int i) { return i / 2; } // 왼쪽 자식 노드 인덱스 계산 int left(int i) { return 2 * i; } // 오른쪽 자식 노드 인덱스 계산..

단계별 풀어보기 반복문 (쉬운 문제) #define _CRT_SECURE_NO_WARNINGS#include using namespace std;int main(){ int N; scanf("%d", &N); int a, b; for (int i = 0; i 너무 쉬운 문제인가... 그래도 단계별 풀어보기 하나씩 풀어서 푼 문제 수 늘어날 떄마다 기분은 좋다.

슬슬 기초에서 좀 더 나아간 문제를 풀어보아야겠다 싶어서 풀어봤다. 문제 자체는 Union Find를 알고 있다면 어렵지 않은 문제같다. 사실 그게 아니더라도 도시별 그룹을 어떻게 만들것인지 어떻게 설계하냐에 따라 어떻게든 풀 수 있을 듯 하다.이 문제는 합치는것만 있고 분리할 일이 없으므로(도로가 끊기는 등의 옵션) 유니온 파인드를 쓰면 될 것 같다는 생각을 했고 index헷갈림 문제로 몇번 실패했으나 금방 성공하였다. 최대한 include 없이 풀어보고싶은데 이정도 난이도는 없이도 풀 수 있을 것 같은데 더 어려운 것도 가능하게 되도록 연습해야겠다. #define _CRT_SECURE_NO_WARNINGS#include using namespace std;int all_city[200]; //..

#include #include using namespace std;int main(){ int h,m; int t; cin >> h >> m; cin >> t; if (m + t 23) { cout 이것도 시간 관련해서 간단히 규칙을 찾아내면 될 듯 하다. 오븐 필요 시간이 기존 분과 더해졌을 때 60이 넘냐 안넘냐에 따라 나누면 되는 듯 하다.

#include #include using namespace std;int main(){ int H, M; cin >> H >> M; if (M >= 45) { M -= 45; cout 한시간동안 고민했던 문제. 분명 간단한 IF문인데.. 내가 뭔가 안되는 케이스를 잘못 처리한건 아닐까... 였는데 알고보니 H가 0일떄 H=23 으로 한다는걸 H==23으로 써놓고.. 자신있게 돌려보지도않고 BOJ제출페이지에서 고친다고 까불다가 1시간을써버렸다. 문제 자체는 어렵지 않았다. 현재시간 기준으로 45분 빼면 되는건데, 45분보다 같거나 크면 시간이 변하지않으니 분만 뺴면 되고 45분 보다 작으면 시간이 -1되면 되는 문제(0시인 경우 23시로 변경) 였다.