![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dvKzyv/btrloTGwhFP/QnkjbKXlENsKPscP21QtZk/img.png)
모든 수업을 들을 수 있는 최소 강의실 갯수를 구하는 문제 문제 김종혜 선생님한테는 Si에 시작해서 Ti에 끝나는 N개의 수업이 주어지는데, 최소의 강의실을 사용해서 모든 수업을 가능하게 해야 한다. 참고로, 수업이 끝난 직후에 다음 수업을 시작할 수 있다. (즉, Ti ≤ Sj 일 경우 i 수업과 j 수업은 같이 들을 수 있다.) 입력 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 10^9) 출력 강의실의 개수를 출력하라. 풀이 항상 나를 힘들게 하는 시간초과... 처음에 짰던 로직의 흐름은 맞았지만 계속 시간초과 나서 수정해야 했습니다. 처음에 짰던 코드 입력으로 주어지는 강의 시간들을 우선순위 큐에 저장한다. 우선..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/2WRKk/btrj87zdT2W/vgcG1MAY7vlWeuNuoUTPjK/img.png)
수를 적절하게 묶어서 곱했을 때 구할 수 있는 최대 합계를 구하는 문제 문제의 조건 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다. 예를 들면, 어떤 수열이 {0, 1, 2, 4, 3, 5}일 때, 그냥 이 수열의 합을 구하면 0+1+2+4+3+5 = 15이다. 하지만, 2와 3을 묶고, 4와 5를 묶게 되면, 0+1+(2*3)+(4*5) = 27이 되어 최대가 된다. 수열의 모..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/btBOTw/btrhgkicDkO/yGQsEZCvCK0cvsfjneIRkk/img.png)
안 매운 음식들을 섞어서 매운 음식으로 만들건데 총 몇 번 섞어야 하는지 구하는 문제 문제의 조건 1. 음식들의 맵기를 담은 배열 scoville, 기준이 되는 스코빌 지수 K가 주어짐 2. scoville 원소들이 K 이상 되어야 함 3. 새로운 음식을 만드는 공식은 이렇다. 가장 덜 매운 두가지를 뽑아서 위의 공식으로 섞는다. 4. 모든 음식을 K 이상으로 만들 수 없으면 -1 리턴 (이 예외처리를 안 해서 또 시간 날림 ㅠ.ㅠ 문제를 똑바로 읽읍시다...) 5. 가장 덜 매운 음식의 지수가 최소 K 이상 되려면 몇 번 섞어야 하는지 구해서 리턴하기 원소 하나하나 복사해서 set으로 만든다고 뻘짓했는데 우선순위 큐로 쉽게 해결할 수 있었던 문제... #include #include #include u..
- Total
- Today
- Yesterday
- 하드웨어
- 프로그래밍
- 컴퓨터공부
- 백준
- 문제풀이
- 캐나다생활
- 캐나다
- 다이나믹프로그래밍
- 너비우선탐색
- 코딩공부
- 스위프트플레이그라운드
- DFS
- 프로그래머스
- 아이패드
- 기초
- 애플
- BFS
- c언어
- C언어기초
- 컴퓨터
- dp
- 그리디
- 알고리즘
- 해커랭크
- 깊이우선탐색
- hackerrank
- greedy
- 영어공부
- 컴퓨터사이언스
- c++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |