Dev.baelanche
#include #include #include using namespace std; pair a[200000]; priority_queue pq; bool compare(pair a, pair b) { if (a.first > n; for (int i = 0; i > a[i].first >> a[i].second; sort(a, a + n, compare); for (int i = 0; i < n; i++) { int end = a[i].second; if (!pq.empty() &..
이전에 자바로 푼적이 있어서 코드만 적어놓겠다. compare 함수를 처음 구현해봐서 저장하는게 목적이다. #include #include using namespace std; pair a[100000]; bool compare(pair a, pair b) { if (a.second > n; for (int i = 0; i > a[i].first >> a[i].second; sort(a, a + n, compare); for (int i = 0; i ..
1. 패널티가 가장 적게하기 위해서는 문제를 푸는데 걸리는 시간이 적은 문제부터 해결해야 한다. -> 걸리는 시간 기준 오름차순으로 정렬한다. 2. 문제에 써있는대로 패널티를 합산한다. (시그마를 썼으므로 누적해서 계속 더하면 된다.) 3. T + 20V의 패널티를 추가로 더한다. #include #include using namespace std; pair a[11]; int main() { for (int i = 0; i > a[i].first >> a[i].second; sort(a, a + 11); int pen = 0, pre = 0; for (int i = 0; i < 11; i++) { pen += pre + a[i].first; pre += a[i].first;..
너무 쉬운 dp문제이긴 한데, dp문제는 모두 포스팅하기로 정해서 올린다. 문제에 써있는대로 탑다운 방식으로 풀었다. n, m에서 왼쪽, 왼쪽위, 위 방향으로 이동하면서 1, 1에 도착했을때의 개수를 더해주었다. public class Main { static long dp[][]; public static long dp(int n, int m) { if(n == 0 || m == 0) return 0; if(n == 1 && m == 1) return 1; if(dp[n][m] != -1) return dp[n][m]; long result = (dp(n, m-1) + dp(n-1, m) + dp(n-1, m-1))%1000000007; dp[n][m] = result; return result; } ..
카드에 들어갈 수 있는 숫자의 범위가 너무나도 커서 배열로 만들기엔 부적합하다. Map을 만들어서 key에 카드의 값, value에 카드의 개수를 저장해서 정렬하는 방법으로 풀었다. public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); Map map = new HashMap(); for(int i=0; i o2.getValue()) return -1; else { if(o1.getKey() < o2.getKey()) ..
정렬만 꼼꼼하게 해주면 된다. 딱봐도 알겠지만 내가 쓴 코드는 상당히 별로다...ㅋㅋ;; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Student s[] = new Student[n]; for(int i=0; i o2.korean) return -1; else { if(o1.english o2.english) return 1; else { if(o1.math o2.math) return..
Comparator를 구현하여 정렬해주었다. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Member m[] = new Member[n]; for(int i=0; i
달팽이배열로 푼 사람들이 많다는데 그게 뭔진 모르겠고 난 그냥 인덱스 계산해서 풀었다. 배열과 좌석 배치 좌표의 세로방향이 반대이기 때문에 유의하자. public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; st = new StringTokenizer(br.readLine()); int c = Integer.parseInt(st.nextToken()); int r = Integer.parseInt(st.nextToken()); int k = Integer.p..