C++
-
[백준 Class 2] 11650 좌표 정렬하기 C++ 풀이C++/백준 2023. 1. 16. 18:13
https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 링크입니다. 이 문제도 난이도는 실버 5로 10814번 문제와 마찬가지로 자료구조를 알고있느냐의 정도로 보시면 될 것 같습니다. 두 가지의 좌표를 쌍으로 갖고 다니기 위해 pair 자료구조를 활용했고, algorithm 헤더에 존재하는 sort를 사용하기 위해 vector 쌍으로 묶었습니다. #include #include #include..
-
[백준 Class 2] 10814 나이순 정렬 C++ 풀이C++/백준 2023. 1. 16. 18:11
https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제 링크입니다. 난이도는 실버5로 자료구조를 알고있느냐의 정도로 보시면 될 것 같습니다. key = 나이 value = 회원 이름으로 선택하여 풀었고 key에 중복이 허용되어야 하므로 multimap을 사용했습니다. #include #include #include #include #include using namespace std; multimap member; multimap::iterator it..
-
[백준 Class 2] 1181번 단어 정렬 C++ 풀이C++/백준 2022. 12. 21. 19:10
https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 문제 링크입니다. 이 문제의 난이도는 실버5로 문자열과 정렬을 능숙하게 사용할 줄 아는지 묻는 문제입니다. 중복을 허용하지 않는다라고 생각해서 set 자료구조를 떠올리셨을 수도 있겠지만, 굳이 그럴 필요는 없습니다. 1. 길이가 짧은 것 부터 2. 길이가 같으면 사전 순으로 문제에서 제시된 정렬 조건에 맞게 구현하시면 됩니다. 저 같은 경우는 algorithm 헤더에 있는 sort 함수..
-
[백준 Class 2] 1018번 체스판 C++ 풀이C++/백준 2022. 12. 21. 18:31
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제는 링크를 참고하세요. 이번 문제는 실버4 난이도의 체스판 칠하기 입니다. 문제 풀이 알고리즘은 Brute-force(완전탐색) 알고리즘입니다. 이 문제는 문제를 잘 읽어보셔야 합니다. 8X8 크기의 체스판을 만드려고 하는데, 그 이상의 체스판이 주어지면 잘라서 사용합니다. 8X8 크기는 아무데서나 골라도 된다고 하였으므로, 초기 지점에서 자르도록 하겠습니다. 먼저 체스판이 흰색으로 시..
-
[백준 Class 2] 2798번 블랙잭 C++ 풀이C++/백준 2022. 12. 20. 17:50
https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제 링크입니다. 난이도는 브론즈2로 Brute-force(완전탐색) 알고리즘입니다. 벡터 or 배열에 카드를 넣어두고, 완전탐색으로 모두 탐색하면서 M을 넘지 않는 값중 가장 큰 sum값을 찾으면 됩니다. 시간제한이 1초이나, 카드 개수가 100장으로 적기 때문에 가능합니다. ## CODE #include using namespace std; int main() ..
-
[백준 Class 2] 10250번 ACM 호텔 C++ 풀이C++/백준 2022. 12. 20. 16:38
https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 문제 링크입니다. 난이도는 브론즈3으로 처음 문제를 보면 굉장히 난해해보이지만 그렇지 않습니다. 2차원 배열을 사용해야 하나? 라는 생각이 드실 수도 있는데 그럴 필요 없는 간단한 수학 문제입니다. 먼저 첫번째 테스트 케이스부터 보겠습니다. H = 6, W = 12, N= 10 즉, 6행 12열에서 10번째로 도착한 손님의 방 번호는 402호가 배정되어야 합니다. 두번째 테스트 케이스..
-
오징어게임 구현C++/토이프로젝트 2021. 12. 20. 20:13
개인 프로젝트로 미니(?) 오징어 게임을 만들어 보았습니다 :D 딱히 이렇다 할 기능은 없지만 단순 클래스 구현 숙달과 정규분포를 만족하는 메르센 트위스터 기법에 익숙해지려고 구현했습니다. 헤더 파일 #pragma once // 헤더 파일 #include #include #include #include using namespace std; class Player { private: string name; // 이름 int id; // 참가 번호 static int alive; // 참가인원 static int prize; // 총 상금 public: Player(); virtual ~Player(); void setName(string); void setId(int); string getName() co..