분류 전체보기
-
[BOJ]1406 :: 에디터알고리즘/BOJ(C++) 2018. 6. 16. 20:01
https://www.acmicpc.net/problem/1406 자료구조 연습하기 좋은문제!! 문제 설명은 생략하고 커서를 기준으로 왼쪽 문자열을 저장하고 오른쪽 문자열을 저장하는게 핵심이다! 왼쪽 오른쪽 모두 앞뒤로 push pop이 편리해야 하므로 deque 자료구조를 사용합니다.. L : 왼쪽 deque의 back을 오른쪽 deque의 맨 앞으로 (empty일 경우 예외처리)D : 오른쪽 deque의 front을 왼쪽 deque의 맨 뒤로 (empty일 경우 예외처리)B : 왼족 deque의 back을 삭제하기(pop_back())P : 왼쪽 deque의 back에 추가! #include #include #include using namespace std;deque l;//커서 왼쪽 문자들을 보관..
-
[BOJ] 6679 :: 싱기한 네자리 숫자알고리즘/BOJ(C++) 2018. 6. 2. 21:26
https://www.acmicpc.net/problem/6679 입력은 없습니다.1000부터 9999까지 해당 조건을 만족하는 숫자를 모두 출력하면 되는 문제입니다. 해당 조건은 10진수로 바꿨을 때 각 자리수의 합 == 12진수로 했을 때 모든 자리 수의 합 == 16진수로 했을 때 모든 자리 수의 합입니다. 각 숫자를 진법 변환해주는 과정만 구현하면 아주 쉬운 문제입니다. 저는 %연산을 통해 자리수를 확인한 후 진수로 나누어 0이 되기 전까지 각 자리를 확인해 주었습니다. #include using namespace std;int main(){for(int i = 1000; i
-
[BOJ] 8958 :: OX퀴즈알고리즘/BOJ(C++) 2018. 6. 2. 21:20
https://www.acmicpc.net/problem/8958 연속된 O의 개수를 찾는 것이 관건입니다. X가 나오기 전까지 t의 값을 늘리면서 확인 해 주다 X가 나오면 t를 0으로 초기화 해주면 됩니다. #include #include using namespace std;int main(){int t;cin >> t;while (t--){string s;cin >> s;int t = 0;int ans = 0;for (int i = 0; i
-
[BOJ] 2581 :: 소수알고리즘/BOJ(C++) 2018. 6. 1. 23:18
https://www.acmicpc.net/problem/2581 N부터 M까지의 소수를 구해서 벡터에 저장해주는 것이 핵심입니다! 벡터에 모든 원소를 탐색하며 총 합을 구하고, 작은 수부터 소수를 구하는 함수를 돌릴 것이기 때문에 항상 최솟값이 벡터의 가장 앞에 오므로 최솟값은 v[0]으로 접근할 수 있습니다. 소수가 존재하지 않을 경우 vector이 비여서 따로 예외처리 해주는거 잊어서 런탐에러 난건 안비밀..... #include #include using namespace std;bool find(int n){if (n == 1)return false;bool flag = true;for (int i = 2; i > a >> b;vector v;for (int i = a; i
-
[BOJ]1978 :: 소수 찾기카테고리 없음 2018. 6. 1. 23:10
https://www.acmicpc.net/problem/1978 n개의 숫자를 입력받아서 그 중 소수의 개수를 구해 출력해주는 문제입니다~ 입력되는 숫자의 크기가 작기 때문에 그렇게 복잡한 소수찾기 알고리즘을 사용할 필요 없어서 그냥 정의 그대로 1과 자기자신이 아닌 수로 나누어지면 소수가 아닌 것으로 판단했습니다 1은 소수이기 때문에 따로 예외처리 해주었습니다 #include using namespace std;bool find(int);int main(){int n;cin >> n;int ans = 0;while (n--){int temp;cin >> temp;bool flag = find(temp);if (flag)ans++;}cout
-
[BOJ]2908_상수알고리즘/BOJ(C++) 2018. 6. 1. 22:55
https://www.acmicpc.net/problem/2908 거꾸로 읽은 숫자 중 큰 수를 구하는 문제입니다! 거꾸로 읽은 숫자중 큰 값을 구하는게 관건인데, 저는 처음부터 string으로 입력을 받아 algorithm 헤더파일에 들어있는 swap함수를 이용해 reverse된 스트링을 구해줬습니다. string을 다시 int로 변환해서 비교를 해줘야 할 거라고 생각했는데[... 그냥 변환 안하고 크기를 비교해도 되더라구요! #include #include #include using namespace std;int main(){string a, b;cin >> a >> b;int len_a = a.length();int len_b = b.length();for (int i = 0; i