본문 바로가기

728x90
반응형

Algorithm/C++

(111)
[C++] 20006 : 랭킹전 대기열 https://www.acmicpc.net/problem/20006 20006번: 랭킹전 대기열모든 생성된 방에 대해서 게임의 시작 유무와 방에 들어있는 플레이어들의 레벨과 아이디를 출력한다. 시작 유무와 플레이어의 정보들은 줄 바꿈으로 구분되며 레벨과 아이디는 한 줄에서 공백www.acmicpc.net  #include using namespace std;class Player { public: int level; string name; bool isPlay; Player() { level = 0; name = ""; isPlay = false; } Player(int a, strin..
[C++] 22233 : 가희와 키워드 https://www.acmicpc.net/problem/22233 22233번: 가희와 키워드 1번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, floyd, os가 됩니다. 2번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, os가 됩니다. map은 1번째 글과 2번째 글에 중복으로 등장하였음을 www.acmicpc.net #include using namespace std; int N, M; map memo; vector tokens; int main(void) { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin >> N >> M; string input; for (int i = 0; i < N; i++)..
[C++] 19637 : IF문 좀 대신 써줘 https://www.acmicpc.net/problem/19637 19637번: IF문 좀 대신 써줘 첫 번째 줄에는 칭호의 개수 N (1 ≤ N ≤ 105)과 칭호를 출력해야 하는 캐릭터들의 개수 M (1 ≤ M ≤ 105)이 빈칸을 사이에 두고 주어진다. (1 ≤ N, M ≤ 105) 두 번째 줄부터 N개의 줄에 각 칭 www.acmicpc.net #include using namespace std; int N, M; vector cStyle; string findStyle(int war) { int left = 0; int right = cStyle.size() - 1; int mid = (left + right) / 2; while (left > N >> M; string a; int b; ci..
[C++] 20310 : 타노스 https://www.acmicpc.net/problem/20310 20310번: 타노스 어느 날, 타노스는 0과 1로 이루어진 문자열 $S$를 보았다. 신기하게도, $S$가 포함하는 0의 개수와 $S$가 포함하는 1의 개수는 모두 짝수라고 한다. 갑자기 심술이 난 타노스는 $S$를 구성하는 문자 www.acmicpc.net #include using namespace std; string s; deque zero; deque one; int main(void) { cin >> s; for (int i = 0; i < s.length(); i++) { if (s[i] == '0') { zero.push_back(i); } else { one.push_back(i); } } int zeroCnt = zer..
[C++] 3758 : KCPC https://www.acmicpc.net/problem/3758 3758번: KCPC 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 테스트 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫 번째 줄에는 www.acmicpc.net #include using namespace std; int TEST; int N, K, T, M; int s[111][111]; int cnt[111]; int seq[111]; vector v; // 팀번호, 최종점수, 제출 횟수, 마지막 제출 시간 bool fun(pair a, pair b) { if (a.second.first == b.second.first) { return a.second.se..
[C++] 19941 : 햄버거 분배 https://www.acmicpc.net/problem/19941 19941번: 햄버거 분배 기다란 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다. 햄버거 사람 햄버거 사람 햄버거 사 www.acmicpc.net #include using namespace std; int n, k; string input; bool ham[21234]; int ans; int main(void) { cin >> n >> k >> input; for (int i = 0; i < input.length(); i++) { if (input[i] == 'P') { int idx = i - k; if (idx < 0) { idx..
[C++] 1515 : 수 이어 쓰기 https://www.acmicpc.net/problem/1515 1515번: 수 이어 쓰기 세준이는 1부터 N까지 모든 수를 차례대로 공백없이 한 줄에 다 썼다. 그리고 나서, 세준이가 저녁을 먹으러 나간 사이에 다솜이는 세준이가 쓴 수에서 마음에 드는 몇 개의 숫자를 지웠다. 세준 www.acmicpc.net #include using namespace std; int main(void) { string input; cin >> input; int cur = 0; for (int i = 1;; i++) { string s = to_string(i); for (int j = 0; j < s.length(); j++) { if (input[cur] == s[j]) { cur++; } } if (cur =..
[C++] 21921 : 블로그 https://www.acmicpc.net/problem/21921 21921번: 블로그 첫째 줄에 $X$일 동안 가장 많이 들어온 방문자 수를 출력한다. 만약 최대 방문자 수가 0명이라면 SAD를 출력한다. 만약 최대 방문자 수가 0명이 아닌 경우 둘째 줄에 기간이 몇 개 있는지 출력한다 www.acmicpc.net #include using namespace std; int n, x; vector v; pair ans; //{방문자수, 몇개의 기간} int main(void) { cin >> n >> x; int input; for (int i = 0; i > input; v.push_back(input); } // 초기화 ans.first = 0; for (int i ..

728x90
반응형