https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 가장먼저 떠오른 방법 : "이 안에 X라는 정수가 존재하는지 알아내라" 라는 키워드에서 algorithm 라이브러리의 (find(A.begin(), A.end(), num) 함수가 떠올랐다. find() 함수는 첫 번째 인자로 벡터의 시작점, 두 번째 인자로 벡터의 종점, 세 번째 인자로 '찾고자 하는 정수'(여기서는 num)를 넣어준다. 반환은 n..
https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 가장먼저 떠오른 방법 : '꺼내고 뽑고' 라는 키워드에서 큐 문제라는 생각이 직관적으로 들었다. 원형 큐를 직접 c로 구현하여 사용할까 하다가,,, 구현하기 복잡하고 코드가 길어져서 좀 아닌거 같다는 생각이 들었고 그 다음으로 가장 먼저 떠오른 방법은 N개의 크기를 가진 1차원 배열 A,B 2개를 사용하는 방법이었다. 배열 A에는 배열값으로 꺼내지지 않은 원소는 1, 꺼내진 원소는 0으로 지정하였고 배열 B에는 배열 A에서 꺼내진 원소 순서대로 차곡차곡 담는 배열이었다. (배열선언은 크기..
https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 가장먼저 떠오른 방법 : int 형 정수로 일단 숫자 하나를 입력받고, 그 정수를 뒤에서부터 하나씩 숫자를 떼서 다시 벡터에 저장한 다음 숫자 하나하나가 저장된 벡터를 내림차순 정렬하여 출력하기 그냥 내 머릿속에 가장 먼저 떠오른 간단한 방식이었다. #define _CRT_SECURE_NO_WARNINGS #include #include #include //C++ #include using namespace std; int main(int argc, char** argv) { vec..
https://www.acmicpc.net/problem/11098 11098번: 첼시를 도와줘! 구단이 성적을 내지 못한다면 답은 새 선수 영입뿐이다. 이것은 오늘날 유럽 리그에서 가장 흔한 전략이고, 노르웨이의 로젠버그 팀은 이러한 전략이 성공한 대표적 예시다. 그들은 많은 스카 www.acmicpc.net 가장먼저 떠오른 방법 : c를 이용하여, max(정답)에 해당하는 가격&이름을 담을 수 있는 변수를 선언해서 저장해두고 출력하기 하지만 c++의 장점을 살리지 못한 코드일 뿐더러, 선언한 변수도 많아 비효율적이라는 생각이 들었다. #include #include #include //C++ using namespace std; int main(int argc, char** argv) { int n;..
vector A(n); 처럼 크기를 지정하여 사용하면 처음부터 인덱스로 접근 가능. (초기화되는 원소들은 기본적으로 해당 타입의 기본값으로 채워진다. int의 경우 0으로 초기화) 아래는 동적추가방법. #include #include using namespace std;// std라는 namespace를 사용할것임을 알리기 int main(void) { vector A; A.push_back(10); A.push_back(30); A.push_back(5); A.push_back(8); A.push_back(6); A.push_back(1);// 마지막에 1 추가 A.insert(A.begin(), 7);// 맨 앞(A.begin)에 7을 삽입 A.insert(A.begin() + 2, 10);// 인덱..