목록분류 전체보기 (183)
on my way
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bRhOEZ/btrheY7HmXX/ZA3C8DOUU0prlokRyfg680/img.png)
* 문제를 풀기 위해 생각한 아이디어 벡터를 선언하고, reverse함수를 통해 해당 구간을 뒤집는다. * 코드 #include #include #include using namespace std; int main(int argc, char const *argv[]){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int start, end; vector v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}; for(int i=0; i> start >> end; reverse(v.begin()+start-1, v.begin()+end); } for(int i=0; i
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/blNfGV/btrhfhlbIzZ/BzU2er1voPKB9KOOFeP541/img.png)
* 문제를 풀기 위해 생각한 아이디어 Map을 사용해서 종의 이름과, 횟수를 넣는 것으로 이해했다. (또한 C++에서 Map은 자동으로 오름차순으로 정렬되고 중복이 안된다는 점) main에서는 입력을 받는 부분 -> 반복문으로 찾기로 진행 * 코드 #include #include #include #include using namespace std; int main(int argc, char const *argv[]){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); map dict; string s; int cnt=0; //전체 입력횟수 // 입력받는 부분 while (getline(cin, s)) { dict[s]++; //종별 입력횟수 cnt..
I. 시작하기 왜 알고리즘 문제 해결에서 C++을 많이 사용하는가? ⇒ low-level 언어라 속도가 빠르다. (속도가 중요하지 않고 다양한 라이브러리와 함수, 쉬운 문법을 원한다면 Python으로 알고리즘을 시작해도 좋다.) ⇒ 참고 예제 코드가 많다. C와 C++의 차이점? ⇒ cin, cout을 통한 입출력 방향, namespace, i/o header변화, string, bool type C는 char, C++은 string 정렬 함수(정렬, 이진탐색), 자료구조(스택, 큐) 가 이미 구현되어있다. (C++ STL) C언어의 표준 함수를 모두 사용 가능하다. #include namespace 식별자간의 이름 충돌을 위한, 모든 식별자가 고유하도록 보장하는 코드 영역. 같은 영역 안에 식별자간 이..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/xx1jC/btrfWb7AoQ3/19FlhivpZUNaqxq72hK9UK/img.png)
원과 삼각함수 반지름이 1인 원이고, 원을 따라 아무 곳에 한 점을 찍고 그 점을 P라고 한다. 중심에서 P까지 이어지는 선의 길이는 반지름과 같다. 그리고 점P에서 수직으로 선을 내려 바닥과 직각이 되도록 만들면, 빗변의 길이가 1인 직각삼각형 한 개가 생긴다. 이 직각 삼각형에 대해 삼각함수 sin, cos, tan을 적용하면 다음과 같다. 따라서 점P의 좌표 (x, y)는 다음과 같이 표현할 수 있다. x = cos(a) * r y = sin(a) * r 여기서 r은 빗변의 길이인 반지름이다. 이 과정을 통해, 삼각함수를 통해서 원의 둘레 위의 한 점의 위치를 나타낼 수 있다는 것이다. 이를 응용하여 원 모양으로 움직이는 캐릭터를 구현할 수 있을 것이다. 파이(ㅠ) 3.141592... 자동차 바퀴..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ce3ZFC/btrfXHq05r4/P1T9XO9ug1oa5sk8FufUv0/img.png)
삼각함수 직각삼각형의 각을 직각삼각형의 변들의 길이의 비로 나타내는 함수이다. 탄젠트(tan) 이 그림을 보면 두 변의 길이가 같은 이등변 삼각형이 그려진다는 것을 알 수 있다. 즉, 나무의 그림자의 길이는 곧 나무의 높이와 같고, 이 삼각형은 직각 삼각형이다. tan(45도)는 1이라는 결과가 나온다. 그리고 여기서 비율이 1이라는 것은, 비교 대상이 같다는 뜻이다. 즉 각도가 45도일 때 그림자의 길이와 나무의 높이를 비교하니 둘이 같다는 것을 의미한다. tan은 삼각함수 중 하나인 탄젠트라는 함수이고, 직각삼각형에서 어떤 각도를 넣었을 때 밑변과, 밑변과 수직인 변의 비율을 구해준다. 사인(sin) 25도 각도 경사에, 100m짜리 슬로프인 눈썰매장을 만든다고 가정하면 다음과 같다. 이 눈썰매장 기..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/3VBHO/btrf3ymINGe/2bDsuWGhs6oPq929jkKDzk/img.png)
벡터의 외적 > 벡터의 외적은 두 벡터 a,b 사이의 각을 θ라 하면 a·b sin θ라는 크기, 즉 a,b를 두 변으로 하는 평행사변형의 넓이와 같은 크기를 가지고 a,b를 포함하는 평면에 수직이고 a에서 b로 시계방향과 같은 진행방향을 가지는 벡터를 a,b의 외적 또는 벡터곱이라 하고 이것을 내적과 구별하여 [a,b] 또는 a×b로 표시한다 [네이버 지식백과] 벡터의 내적과 외적 내적의 결과값은 벡터가 아닌 스칼라 값이 나온다. 외적의 결과값은 또 다른 벡터가 하나 생기는데, 이 벡터는 두 벡터에 모두 수직인 벡터가 된다. 주의할 점은, 벡터의 외적은 3차원 벡터에서만 적용이 된다는 것이다. 내적을 설명할 때, 법선 벡터라는 것을 언급했는데, 이 법선 벡터를 구할 때 벡터의 외적을 사용하게 된다. 법..