코딩테스트 강의를 보면서 진행하니까 확실히 이전보다 더 효율적인 코드를 작성하는 것 같습니다.
오늘은 팀프로젝트 구성에 시간을 많이 사용해서 두 문제밖에 진행하지 못했습니다.
코딩테스트
[level 1] 모의고사 - 42840
https://school.programmers.co.kr/learn/courses/30/lessons/42840
[level 1] 모의고사 - 42840 풀이코드
더보기
#include <string>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;
vector<int> a = {1, 2, 3, 4, 5};
vector<int> b = {2, 1, 2, 3, 2, 4, 2, 5};
vector<int> c = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
map<int, int> m;
vector<int> solution(vector<int> answers) {
vector<int> answer;
for(int i = 0; i < answers.size(); i++) {
a.push_back(a[i]);
b.push_back(b[i]);
c.push_back(c[i]);
}
for(int i = 0; i < answers.size(); i++) {
if(answers[i] == a[i]) {
m[1]++;
}
if(answers[i] == b[i]) {
m[2]++;
}
if(answers[i] == c[i]) {
m[3]++;
}
}
auto max = max_element(m.begin(), m.end(), [](const auto &x, const auto &y) { return x.second < y.second ;});
for(int i = 1; i <= 3; i++) {
if (max->second == m[i]) {
answer.push_back(i);
}
}
sort(answer.begin(), answer.end());
return answer;
}
[Bronze II] 트럭 주차 - 2979
https://www.acmicpc.net/problem/2979
[Bronze II] 트럭 주차 - 2979 풀이코드
더보기
#include <bits/stdc++.h>
using namespace std;
int ap, bp, cp;
int as, ae;
int bs, be;
int cs, ce;
map<int, int> m;
int result;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL);
cin >> ap >> bp >> cp >> as >> ae >> bs >> be >> cs >> ce;
for(int i = as; i < ae; i++) m[i]++;
for(int i = bs; i < be; i++) m[i]++;
for(int i = cs; i < ce; i++) m[i]++;
for(auto i : m)
{
if(i.second == 1) result += ap;
if(i.second == 2) result += bp * 2;
if(i.second == 3) result += cp * 3;
}
cout << result;
return 0;
}
팀 프로젝트 시작
https://github.com/SONSAZANG/Team17_TEXT_RPG
요구사항에 맞춰서 진행할 생각인데 조금 더 완성도를 높이기 위해 CMD에서 GUI를 그려볼 생각이다.