프로그래밍 문법 100

함수

1. 문자열 (1) pasted() 벡터형식 문자열 합치기 (파이썬의 "".join(list)와 비슷) str6 str6_pated str6_pated [1] "hello my world hi" ​ 2. 데이터 (1) head(), tail() 데이터에서 첫 6개, 마지막 6개 데이터 출력 # 앞부분을 출력, 6이 default, 10을 주면 상위 10개출력 head(exam,10) # 뒷부분을 출력, 6이 default tail(exam) > # 앞부분을 출력, 6이 default > head(exam,10) id class math english science 1 1 1 50 98 50 2 2 1 60 97 60 3 3 1 45 86 78 4 4 1 30 98 58 5 5 2 25 80 65 6 6 ..

패키지 사용방법

1. 패키지설치 : 하나의 프로젝트당 최초 한번만 설치하면 됨. (파이썬의 pip패키지설치와 비슷하다) ​ ​ (1) 코드를 통해 설치 install.package("패키지이름") (2) gui를 이용한 설치 (권장) 우측아래 package->install->packages칸에 원하는 패키지명 입력후 설치 ​ ​ 2. 패키지 불러오기 : R을 새로 실행할 때 마다 최초 한번 실시 (파이썬의 import와 비슷) library(패키지이름) library(dplyr) library(ggplot2) 3. 필요한 함수 사용 #library(dplyr) df_new

벡터 자료구조

1. C(a:b) (컴바인) # 1부터 5까지 저장 var=c(1:5) print(var) # index도 1부터 5까지 부여 var[0] # 값추가하기 var[6]=100 var #문자를 추가하면 전체 변수가 문자로 변함 var[7]="saeg" var[8]=TRUE var # 논리값(TRUE)를 넣으면 숫자 1로 들어감 var2=c(1:10) var2 var2[11]=TRUE var2 2. seq(a,b) (시퀀스) :파이썬의 range()와 똑같다. (단 seq는 마지막값을 포함함, ex) seq(1,3)=[1,2,3]) #-----------seq(a,b)-------------- var3=seq(1,10) var3 var4=seq(2,10,2) var4 #각각의 요소에 2를 넣음 var5=var..

csv,xlsx파일 읽고 쓰기

1. CSV * 용량이 작고, xlsx파일과 달리 MS가 깔려있지 않은 (macOS,linux)환경에서도 작동가능한 파일형식. # 별도의 패키지없이 R내장함수 사용 df_csv_exam df_csv_exam_novar df_csv_exam_novar V1 V2 V3 V4 V5 1 1 1 50 98 50 2 2 1 60 97 60 3 3 1 45 86 78 4 4 1 30 98 58 5 5 2 25 80 65 6 6 2 50 89 98 7 7 2 80 90 45 8 8 2 90 78 25 9 9 3 20 98 15 10 10 3 50 98 45 11 11 3 65 65 65 12 12 3 45 85 32 13 13 4 46 98 65 14 14 4 48 87 12 15 15 4 75 56 78 16 16 ..

함수에서 배열호출시 메모리참조, 벡터호출시 값참조

c++에선 함수에서 호출시 1. 배열은 메모리참조 2. 벡터는 값참조를 한다 ​ 1. 소스코드 #include #include #include #include #include #define max pow(2,31)-1 using namespace std; void vectorFuc(vector v) { for (int i = 0; i < 10; i++) { v[i] = i; } return; } void arrFuc(int *a) { for (int i = 0; i < 10; i++) { a[i] = i; } return; } int main() { vector v(10); int arr[10] = { 0, }; vectorFuc(v); //call by value arrFuc(arr); //call b..

문자열형 숫자를 숫자형으로 표현

char형으로 된 숫자를 숫자형으로 바꾸고 싶을때는 다음과 같이 쓸 수 있다. string N; int temp = (N[i] - '0'); 예시문제) [boj]10610_30 #include #include #include using namespace std; int main() { string N; cin >> N; bool isInZero=false; int sum=0; //3의 배수 and 10의배수 ? for (int i = 0; i 숫자 sum += temp; if (!temp) { isInZero = true; } } if (sum % 3 != 0 or not isInZero) { cout

벡터에서 값으로 index찾기

방법 1. 찾고자 하는 값의 위치에 반복자를 만들어준다. 2. 백터의 첫번째 위치의 반복자( vec.begin() )와 위에서 만든 반복자 사이의 거리( distance() )를 이용하여 index를 구한다 예시 코드 - 4의 index를 찾고싶을때 #include #include #include using namespace std; int main() { vector vec = { 1,2,3,4,5,6,7 }; //찾고자하는 값의 반복자를 정의한다 vector::iterator iter = find(vec.begin(), vec.end(), 4); //첫인덱스부터 위에서 찾은반복자 사이의거리를 이용하여 index를 찾는다 int index = distance(vec.begin(), iter); cout

c++ 자료형

1. 큐 함수 기능 q.front() 가장 먼저 들어간 원소 리턴 q.back() 가장 마지막에 들어간 원소 리턴 q.push(value) 값을 추가 q.empty() 비어있으면 1 q.size() 내부 값의 개수 리턴 q.pop() front값 삭제 2. 스택 #include stack mystack; stack mystack2; //스택안에 벡터 mystack.pop() // 스택의 끝 값 삭제 mystack.push(5) // 스택 삽입 a=mystack.top() // 스택의 끝 값 return 함수 기능 s.top() 가장 마지막에 들어간 원소 리턴 s.push(value) 값을 추가 s.empty() 비어있으면 1 s.size() 내부 값의 개수 리턴 s.pop() top값 삭제 3. dequ..

사용자 정의 정렬(sort)

0. 기본구조 기본적인 구조는 아래와 같다. comp에는 정렬하고싶은 형태를 반환하는 함수를 넣는다. sort(vec.begin(), vec.end(), comp); ​ 1. 함수의 input compare함수는 정렬하고자 하는 배열의 요소에 맞는 type을 input으로 갖어야 한다. 예를들어 2차원벡터(벡터를 요소로 갖는경우)의 경우 함수 comp의 파라미터를 벡터로 받아야 하고, 문자열을 요소로 같는 경우는 함수 comp의 파라미터를 문자열로 받아야 한다. ​ 2. return값 return이 true가 나오면 바꾸지 않고, false가 나오면 바꾼다. ​ 3. 소스코드 bool cmp(vector v1, vector v2) { // v2가 크면 가만히 놔둬(true) if (v1[2] < v2[2..