BOJ - 너의 평점은 25206
·
코딩테스트
해결방법등급을 입력받으면 그 등급을 점수로 변환해주는 함수를 만들어서 평점을 구한다. 만약 P/F의 경우 계산에서 제외해야 하기 때문에 -1로 변환해준다. 0보다 작은 경우, 즉 P/F의 경우 continue를 통해 넘겨버리면 된다. 정답 코드#include #include #include using namespace std;float getGradePoint(string grade){ if (grade == "A+") return 4.5; if (grade == "A0") return 4.0; if (grade == "B+") return 3.5; if (grade == "B0") return 3.0; if (grade == "C+") return 2.5; if (gra..
BOJ - 블랙잭 2798
·
코딩테스트
해결방법3개 카드의 값을 합하고, 반복을 계속해서 돌려서 M을 넘지 않는 가장 큰 값을 구한다. 정답 코드#include #include using namespace std;int main(){ int N, sum = 0; int M; cin >> N >> M; vector card(N); for (int i = 0; i > card[i]; } for (int i = 0; i sum) { sum = jack; } } } } cout
BOJ - 학생 인기도 측정 25325
·
코딩테스트
해결방법인기도를 map을 이용하여 이름과 인기도를 같이 저장한다. map은 key값과 value값으로 이루어진 일종의 트리이다.그 다음에는 학생의 이름과 좋아하는 학생을 입력받는데, 그 학생의 인기도를 1 올려주게 된다.마지막으로 sort를 이용하여 정렬해주는데, map을 vector로 변환해주는 과정을 거쳐야 한다.map은 값을 기준으로 정렬을 할 수 없기 때문이다. 정답 코드#include #include #include #include #include using namespace std;int main(){ int n; cin >> n; vector students(n); map popularity; for (int i = 0; i > students[i]; ..
BOJ - 2292 벌집
·
코딩테스트
해결방법구조를 자세히 보면 한 층마다 6개씩 방의 개수가 늘어난다는 사실을 알 수 있다. 즉, 층이 늘어날 때마다 방의 개수가 6, 12, 18... 이런 순으로 늘어난다는 것이다. 따라서 입력받은 값보다 방의 개수가 많아지기 전까지 6 * 층의 수씩을 더해가면서 몇 개의 방을 지나는지를 측정하여 구할 수 있다. 정답 코드#include using namespace std;int main(){ int N, ref = 1, count = 1; cin >> N; while (ref
BOJ - 네 번째 점 3009
·
코딩테스트
해결방법무식하게 if문을 많이 돌린 방법이다...세 점의 좌표값이 주어지면, 그 세 점의 좌표값 중 겹치지 않는 한 값을 각각 x, y좌표로 만들어준다.예를 들어 (2, 3), (2, 4), (3, 4) 이렇게 값이 주어졌다면 (3, 3)이 네번째 점의 좌표가 되는 것이다. 정답 코드#include using namespace std;struct Dot{ int Xpos; int Ypos;};int main(){ Dot dots[3]; Dot newdots; for (int i = 0; i > dots[i].Xpos >> dots[i].Ypos; } if (dots[0].Xpos == dots[1].Xpos) { newdots.Xpos = dots[2].Xpos; } else if (dots[0].Xp..
BOJ - 수 정렬하기 3 10989
·
코딩테스트
해결방법원래는 sort를 사용하여 정렬을 해주면 되지 않을까 생각했는데, 메모리 제한과 시간제한을 보고 코드를 좀 변경했다.입력되는 수는 10000보다 작은 자연수이므로, 배열을 10000정도 크기로 만들고, 입력받은 수를 배열의 인덱스로 사용하여 수가 입력될 때마다 값을 1 올려서 저장한다.이후 출력할 때 입력받은 수의 값 만큼 출력을 반복해주면 된다. 정답 코드#include #include #include using namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; int input[10001] = { 0 }; for (int i = 0; i > ..