본문 바로가기

코딩테스트

(11)
[코딩테스트] 프린터 문제 코드 #include #include #include using namespace std; struct Data { int value; int number; }; int solution(vector priorities, int location) { int answer = 1; vector vec; for (int i = 0; i < priorities.size(); i++) { Data t; t.value = priorities[i]; t.number = i; vec.emplace_back(t); } int count = 0; while (!vec.empty()) { bool check = true; for (int i = 0; i < vec.size(); i++) { if (vec[count].v..
[코딩테스트] 더 맵게 문제 코드 #include #include using namespace std; int solution(vector scoville, int K) { int answer = -1; priority_queue qu(scoville.begin(), scoville.end()); while(!qu.empty()) { int scovilleValue = qu.top(); qu.pop(); if (scovilleValue < K) { if (qu.empty()) answer++; else { qu.push(scovilleValue + (qu.top() * 2)); qu.pop(); answer++; } } if (qu.empty() && scovilleValue < K) return -1; } return ans..
[코딩테스트] 숫자 문자열과 영단어 문제 코드 #include #include using namespace std; int toNumbeer(string str) { if (str == "orez") return 0; else if (str == "eno") return 1; else if (str == "owt") return 2; else if (str == "eerht") return 3; else if (str == "ruof") return 4; else if (str == "evif") return 5; else if (str == "xis") return 6; else if (str == "neves") return 7; else if (str == "thgie") return 8; else if (str == "enin") ..
[코딩테스트] 오픈채팅방 문제 코드 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include using namespace std; vector split(string s, string divid); vector solution(vector record) { vector answer; unordered_map userData; for (string action : record) { vector str = split(action, " "); string id; string name; if (str[0] != "Leave") { id = str[1]; name = str[2]; userData[id] = name; } } for (string action : record..
[코딩테스트] 카펫 문제 풀이 #include #include #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; int sum = brown + yellow; for (int i = 1; i
[코딩테스트] 타겟 넘버 문제 풀이 #include #include #include using namespace std; int DFS(vector numbers, int target, int death, int sum, int answer); int solution(vector numbers, int target) { int answer = 0; answer = DFS(numbers, target, 0, 0, 0); return answer; } int DFS(vector numbers, int target, int death, int sum, int answer) { if (numbers.size() == death) { if (sum == target) { return answer + 1; } return answer; }..
[코딩테스트] 체육복 문제 풀이 #include #include #include using namespace std; int solution(int n, vector lost, vector reserve) { int answer = n; sort(lost.begin(), lost.end()); sort(reserve.begin(), reserve.end()); for (int i = 0; i < lost.size(); i++) { for (int j = 0; j < reserve.size(); j++) { if (lost[i] == reserve[j]) { answer++; lost[i] = -1; reserve[j] = -1; break; } } } for (auto lostNumber = lost.begin(); lost..
[코딩테스트] 두 정수의 합 문제 풀이 long long solution(int a, int b) { long long answer = 0; int ab = b - a; if (ab