c++

    [baekjoon 1978] 소수 찾기- 소수, 에라토스테네스의 체 (C++)

    www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 소수 판정 알고리즘인 에라토스테네스의 체를 이용해서 풀었다. - 에라토스테네스의 체는 N보다 작거나 같은 모든 소수를 찾는 유명한 알고리즘이다. (baekjoon 2960 에라토스테네스의 체 문제에서 참고) 2부터 N까지 모든 정수를 적는다. 아직 지우지 않은 수 중 가장 작은 수를 찾는다. 이것을 P라고 하고, 이 수는 소수이다. P를 지우고, 아직 지우지 않은 P의 배수를 크기 순서대로 지운다. 아직 모든 수를 지우지 않았다면, 다시 2번 단계로 간다. 따라서 소수 P를 찾은..

    [프로그래머스] 문자열 내 마음대로 정렬하기(문자열) [C++]

    programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1 programmers.co.kr - 프로그래머스로 기본 구현, 문자열 연습 중이다. #include #include #include using namespace std; vector solution(vector strings, int n) { vector answer; vector sorting; for(int i = 0 ; i < strings..

    [baekjoon 17269] 이름궁합 테스트- 문자열, 구현 (C++)

    www.acmicpc.net/problem/17269 17269번: 이름궁합 테스트 시윤이는 좋아하는 이성이 생기면 가장 먼저 이름궁합부터 본다. 이름궁합을 보는 방법은 간단하다. 먼저 이름을 알파벳 대문자로 적는다. 각 알파벳 대문자에는 다음과 같이 알파벳을 적는데 www.acmicpc.net 단순한 문자열, 구현 문제이다. 문자열에 익숙하지 않아서 연습을 해야겠다. #include #include using namespace std; string name1, name2, sumName; int size1, size2; vector num; int main() { ios::sync_with_stdio(false); cin.tie(0); int arr[26] = { 3, 2, 1, 2, 4, 3, 1, ..

    [baekjoon 14425] 문자열 집합- 문자열, map (C++)

    www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 요즘 map 자료구조를 연습 중이다. 이 문제는 간단한 문제인데 map 자료구조를 사용해서 해당 string key 값을 통해 value값을 비교해서 풀어주었다. #include #include #include using namespace std; int N, M, cnt; string word; int main() { ios::sync_with_stdio(false); cin...

    [프로그래머스] 완주하지 못한 선수(map) [C++]

    programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr - 기본적인 level 1 문제이다. - 참가자 목록과 완주 목록을 비교해서 없는 사람 한명을 찾으면 되는 문제이다. - 바로 생각난 것은 2중 for문을 통해서 각 목록을 비교하는 것 -> O(n^2)으로 비효율적이다. Sort를 사용해서 비교하는 법과 map 자료구조를 사용해서 O(n^2)보다 절약할 수 있다. 1번은 Sort를 사용하면 stl의 시간 ..