티스토리 뷰
algorithm'''problem solve
[백준]1620-나는야 포켓몬 마스터 이다솜(설명X, Binary search)
JunHwa Park 2020. 2. 4. 12:331 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #include <iostream> #include <algorithm> #include <cstring> using namespace std; bool is_front(pair<char*, int> pair1, pair<char*, int> pair2) { for (size_t i = 0; i < 21; i++) { if (pair1.first[i] > pair2.first[i]) return false; else if (pair1.first[i] < pair2.first[i]) return true; } return true; } int main() { int N, M; scanf("%d %d", &N, &M); pair<int, char*>* num_pair = new pair<int, char*>[N + 1]; pair<char*, int>* str_pair = new pair<char*, int>[N + 1]; for (size_t i = 1; i <= N; i++) { str_pair[i].first = new char[21]; str_pair[i].second = i; scanf("%s", str_pair[i].first); num_pair[i] = { i, str_pair[i].first }; } sort(str_pair + 1, str_pair + N + 1, is_front); for (size_t i = 0; i < M; i++) { char input[21] = { 0, }; scanf("%s", &input); if (isdigit(input[0])) printf("%s\n", num_pair[(atoi(input))].second); else { int min = 1, max = N, ans = 0; while (max >= min) { int mid = (max + min) / 2; int diff = strcmp(input, str_pair[mid].first); if (diff == 0) { ans = str_pair[mid].second; break; } else if (diff > 0) min = mid + 1; else max = mid - 1; } printf("%d\n", ans); } } return 0; } | cs |
'algorithm'''problem solve' 카테고리의 다른 글
[백준]1764 - 듣보잡(설명X) (0) | 2020.04.08 |
---|---|
[백준]1259-팰린드롬수(설명X) (0) | 2020.04.08 |
[백준]1699-제곱수의 합(설명X, Dynamic Programming) (0) | 2020.02.04 |
[백준]17626-Four Squares(설명X, Dynamic Programming) (0) | 2020.02.04 |
[백준]5430-AC(설명X) (0) | 2020.02.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- BFS
- 동적 계획법
- PyPy3
- DFS
- 카카오
- LG
- 구현
- 오픈소스
- c++
- 코딩
- 피보나치
- 컨트리뷰톤
- 이분탐색
- 정렬
- 플로이드 와셜
- 파이썬
- BaekJoon
- 1932
- 인공지능
- c
- 완전탐색
- 백준
- 알고리즘
- 브루트포스
- 프로그래머스
- DP
- Dynamic Programming
- webOS
- 한화큐셀
- 백트래킹
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함