![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/qffO2/btrgD3NyycQ/1kZkkvBjZykKw8QkgQq2YK/img.png)
복서들을 정해진 규칙대로 정렬하는 문제 문제의 조건 1. 복서들의 몸무게 배열 weights와 경기 전적을 나타낸 배열 head2head가 매개변수로 주어짐 2. 선수들은 주어진 몸무게 배열에 들어있는 순서대로 1번, 2번, ... 번호를 가지고 있다. -> 선수의 번호를 구하려면 몸무게 배열 인덱스+1 해주어야 함 3. 복서 정렬 조건 1) 승률이 높은 복서가 앞에 온다. -> 내림차순 2) 승률이 같다면 자기보다 몸무게가 무거운 복서를 이긴 횟수가 많은 복서가 앞에 온다. -> 내림차순 3) 2)에서 자기보다 무거운 복서를 이긴 횟수도 같으면 몸무게가 더 무거운 복서가 앞에 온다. -> 내림차순 4) 3)에서 몸무게도 같으면 번호가 빠른 사람이 앞에 온다. -> 오름차순 => 위의 조건대로 compa..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/O8sRu/btrgBJIVzGj/9tsrPKQJVS2hDyCoBvaT71/img.png)
2016년의 a월 b일은 무슨 요일인지 구하는 문제 문제의 조건 1. 월 a, 일 b 가 매개변수로 주어진다. 2. 2016년 1월 1일은 금요일이다. 3. 이 때 2016년 a월 b일은 무슨 요일인지 구하기 #include #include using namespace std; string solution(int a, int b) { //1/1이 금요일부터 시작하는데 1%7=1 이다. //따라서 b%7=0 일 땐 목요일이다. //그래서 목요일을 인덱스 0번으로 두고 시작 vector week({"THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"}); vector daysInMonth({31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31})..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ssZjR/btrgBgtmymT/hSHQmTkv1ScBgJ3C7qKIzk/img.png)
문제의 조건 1. 정수를 담은 배열 numbers가 주어짐 2. 숫자 두 개를 뽑아서 더했을 때 나올 수 있는 수들을 담은 배열 리턴하기 #include #include #include using namespace std; vector solution(vector numbers) { vector answer; for (int i = 0; numbers.size() - 1 > i; i++) { for (int j = i + 1; numbers.size() > j; j++) { int sum = numbers[i] + numbers[j]; auto it = find(answer.begin(), answer.end(), sum); if (answer.end() == it) answer.emplace_back(..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ZMs9F/btrgpLVGeu8/gUKYYjJ7iIagkkJtwCo2O1/img.png)
s사에서 정해진 예산 안에서 몇 개 부서의 물품을 사줄 수 있는지 구하는 문제 문제 읽으면서는 정렬하고 시작해야겠다 해놓고 코드 쓸 때 까먹어서 왜 안 될까... 헤멨던 문제 ㅎ; 문제의 조건 1. 부서별로 필요한 예산을 담은 배열 d와 총 예산 budget이 주어짐 2. 남은 돈이 부서에서 필요로하는 돈보다 모자라면 아예 주지 않는다. #include #include #include #include #include using namespace std; int solution(vector d, int budget) { sort(d.begin(), d.end()); //오름차순 정렬 후 시작 int sum = 0; int answer = 0; for (auto elem: d) { //미리 더해본 값이 예산..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/d6GMhS/btrgvWgMMZ4/Y6Tan23si7krB2zCLfDgb0/img.png)
다양한 크기를 가진 명함 카드들을 모두 수납할 수 있는 지갑을 만들기 위한 최소 크기를 구하는 문제 문제의 조건 1. 명함의 가로와 세로 길이를 담은 2차원 배열 sizes가 주어짐 2. 명함마다 가로가 더 길 수도 있고 세로가 더 길 수도 있는데 세로가 더 긴 명함은 눕히면 가로가 더 긴 명함과 함께 수납할 수 있다. -> 그래서 세로가 더 긴 명함은 옆으로 눕혀봐야 함 3. 이 때 가장 작은 지갑 사이즈는 몇이면 되는지 구하기 #include #include #include #include using namespace std; int solution(vector sizes) { vector vecWidths, vecHeights; for (auto nameCard: sizes) { //세로가 더 길면..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/XzPBI/btrgbne8e9a/nPyqqmxSUIhG2eOjkeBzd0/img.png)
10진수->n진수 바꾸기 / n진수->10진수 바꾸기를 너무 오랜만에 해봐서 다시 공부하느라 오래 걸렸던 문제 ㅠ.ㅠ 문제의 조건 1. 10진수 n이 주어짐 2. n을 3진수로 바꾼 다음에 그 3진수를 뒤집음 3. 뒤집은 3진수를 다시 10진수로 바꾼 수를 리턴하기 #include #include #include using namespace std; //오랜만에 재귀함수를 떠올리며... 재귀함수로 구현 string GetTrit(int n) { string trit = ""; //n의 몫이 0이 될 때까지 나눠가면서 생기는 나머지들을 저장해 둠 int remainder = n % 3; if (0 >= n) return ""; else trit = GetTrit(n / 3); //string으로 바꾼 나머..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bqwcEI/btrfVrJliS0/OU5rtP0OxN1k52LoxVLgFK/img.png)
문제의 조건 1. 매개변수 left, right가 주어짐 1 quotient) break; } //수와 약수의 갯수 저장 후 카운트 변수 초기화 mapAliquot.insert(pair(i, iCount)); iCount = 0; } int answer = 0; for (auto count: mapAliquot) { if (0 == count.second % 2) answer += count.first; else answer -= count.first; } return answer; }
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/kynks/btrfVuTE6pe/PxhqilJQo6CGmV4gt9uoek/img.png)
슈퍼 게임 개발자 오렐리의 위기를 도와줘야 하는 문제 나도 되고 싶다... 슈퍼 게임 개발자... 문제의 조건 1. 전체 스테이지의 개수 N, 현재 플레이어들이 멈춰 있는 스테이지를 나타낸 배열 stages가 주어진다. 2. 실패율이 높은 스테이지부터 내림차순으로 정렬한 배열을 리턴하는데 실패율이 같으면 낮은 스테이지가 앞에 옴 3. 스테이지에 도달한 유저가 없으면 해당 스테이지의 실패율은 0 이다. 4. 실패율은 스테이지에 도달했으나 클리어하지 못하고 머물러 있는 플레이어의 수 / 스테이지를 클리어 한 플레이어의 수 로 구할 수 있다. [1, 4, 4] 배열에서 1 스테이지의 실패율은 1/3 2 스테이지의 실패율은 0/2 3 스테이지의 실패율은 0/2 4 스테이지의 실패율은 2/2 이 된다. ↑ 이것들..
- Total
- Today
- Yesterday
- 컴퓨터사이언스
- 하드웨어
- 코딩공부
- 백준
- DFS
- BFS
- 아이패드
- 너비우선탐색
- 캐나다
- 다이나믹프로그래밍
- 캐나다생활
- 그리디
- c언어
- 문제풀이
- c++
- C언어기초
- greedy
- 스위프트플레이그라운드
- 깊이우선탐색
- 컴퓨터
- 애플
- 알고리즘
- 기초
- hackerrank
- 영어공부
- 프로그래밍
- dp
- 컴퓨터공부
- 해커랭크
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |