본문 바로가기

Coding

[PS] 알고리즘, 자료구조, 풀이팁, 문제 리스트 NOMENCLATURE$V$ : 노드(Node, Vertex)의 개수 $E$ : 간선(Edge)의 개수$n$ : 원소의 개수 (또는 $N$)$\log n$ : 밑이 2인 $\log_2 n$을 간략하게 표기노드 = 정점간선 = 엣지 Data structureArray배열(Array)는 메모리 상에 원소를 연속하게 배치한 자료구조를 말한다. C++에서는 배열의 원소가 한 번 정해지면 ( int A[10] ) 이후 크기를 변경하는 것이 일반적으로 불가능하다.시간복잡도접근, 맨 뒤 삽입/제거 $O(1)$탐색, 임의 위치 삽입/제거 $O(n)$공간복잡도: $O(n)$C++ (Pure) #1더보기#include int A[10] = {10, 20, 30};int len = 3; void insert(int idx.. 더보기
Modern C++ 개념 정리 (STL, Design Pattern, Concurrent, Template Programming) 본 포스트는 필자가 Modern C++을 공부하면서 중요하다고 생각되는 내용들을 정리한 포스트이다. 다루는 내용이 매우 많기 때문에 블로그 포스팅 형식으로는 더 이상 작성하지 않고 latex 파일로만 작성한다.  1 Introduction    1.1 What is new in modern c++    1.2 Table summary2 Intermediate    2.1 Temporary        2.1.1 return-by-value vs return-by-reference        2.1.2 temporary and casting    2.2 Conversion        2.2.1 Conversion constructor, conversion operator        2.2.2 expl.. 더보기
[PS] 알고리즘 문제 풀이 - 유용한 팁 및 문제 리스트 정리 내용을 보강하여 [PS] 알고리즘, 자료구조, 풀이팁, 문제리스트 포스트에 업로드하였습니다. NOMENCLATURE$V$ : 노드(Node, Vertex)의 개수 $E$ : 간선(Edge)의 개수$n$ : 원소의 개수 (또는 $N$)$\log n$ : 밑이 2인 $\log_2 n$을 간략하게 표기노드 = 정점간선 = 엣지 BasicsTip문제는 다음 링크를 통해 확인할 수 있다.백준: boj.kr/{문제 번호}정올: jungol.co.kr/problem/{문제 번호}알고스팟: algospot.com/judge/problem/read/{문제 이름}채점용 서버는 일반적으로 1초에 1~5억번의 연산을 수행한다. 따라서 데이터가 $n=10000\sim20000$개 일 때 $O(n^2)$ 알고리즘은 제한시간 1초.. 더보기
[PS] 자료구조와 알고리즘 개념 정리 (Algorithm) Part 2 내용을 보강하여 [PS] 알고리즘, 자료구조, 풀이팁, 문제리스트 포스트에 업로드하였습니다.NOMENCLATURE$V$ : 노드(Node, Vertex)의 개수 $E$ : 간선(Edge)의 개수$n$ : 원소의 개수 (또는 $N$)$\log n$ : 밑이 2인 $\log_2 n$을 간략하게 표기노드 = 정점간선 = 엣지 AlgorithmMathPrime number소수(prime number)는 1과 자기 자신으로만 나누어지는 수를 말한다. 즉, 임의의 수를 약분했을 때 약수가 2개이면 해당 수를 소수라고 한다.현재 숫자 n이 1 이외에 다른 수로 나눠지는지 확인함으로써 소수 판별시간복잡도: $O(\sqrt{n})$더보기bool isPrime(int n) { if(n==1) return 0; for(.. 더보기
[PS] 자료구조와 알고리즘 개념 정리 (Data Structure) Part 1 내용을 보강하여 [PS] 알고리즘, 자료구조, 풀이팁, 문제리스트 포스트에 업로드하였습니다.NOMENCLATURE$V$ : 노드(Node, Vertex)의 개수 $E$ : 간선(Edge)의 개수$n$ : 원소의 개수 (또는 $N$)$\log n$ : 밑이 2인 $\log_2 n$을 간략하게 표기노드 = 정점간선 = 엣지본 포스팅은 필자가 Problem Solving(PS)를 공부하면서 정리한 포스팅이다. Data structureArray배열(Array)는 메모리 상에 원소를 연속하게 배치한 자료구조를 말한다. C++에서는 배열의 원소가 한 번 정해지면 ( int A[10] ) 이후 크기를 변경하는 것이 일반적으로 불가능하다.C++ Skeleton Code (Pure) #1더보기#include int A.. 더보기
VPython 예제10 - 2자유도 반한정계 스프링-질량 애니메이션 1 문제 위의 조건을 바탕으로 2자유도 반한정계 스프링-질량계의 움직임을 애니메이션화하는 코드를 작성하시오. 2 코드 from vpython import * # 7.6.2 from math import * #------------------------------------------------------------------ # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 그래픽창을 생성합니다 scene.center = vector(0,0,0) scene.width = 800 scene.height = 300 # 2개의 물체를 생성합니다. 거리는 5m 간격으로 일정합니다 block1 = box(pos=v.. 더보기
VPython 예제9 - 2자유도 스프링-질량계 애니메이션 (2) 1 문제 위의 조건을 바탕으로 2자유도 스프링-질량계의 움직임을 애니메이션화하는 코드를 작성하시오. 단, 중력에 의한 평형상태를 x1 = 5m, x2 = 10m 로 보고 중력의 영향을 무시한다. 2 코드 # code from https://www.youtube.com/watch?v=c3tX_qReGIM from vpython import * # 7.6.2 #----------------------------------------------------------------- # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 화면 객체를 생성합니다. background 색과 카메라 center 포인트를 설정한.. 더보기
VPython 예제8 - 2자유도 스프링-질량계 애니메이션 1 문제 위의 조건을 바탕으로 2자유도 스프링-질량계의 움직임을 애니메이션화하는 코드를 작성하시오. 단, 마찰력은 무시한다. 2 코드 # code from https://youtu.be/H8CzQtx9vds from vpython import * # 7.6.2 from math import * #------------------------------------------------------------------ # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 그래픽창을 생성합니다 scene.center = vector(0,0,0) scene.width = 800 scene.height = 300 # 2.. 더보기
VPython 예제7 - 공의 자유낙하 애니메이션 (free-fall) (2) 1 문제 위의 조건을 바탕으로 공의 자유낙하운동을 애니메이션화하는 코드를 작성하고 공의 x,v,a를 시간에 따라 그래프로 표현하는 코드를 작성하시오. 이 때, 공은 완전탄성충돌을 한다. 2 코드 # code from http://tcjd71.wixsite.com/vpython/blank-1 from vpython import * # 7.6.2 #------------------------------------------------------------------ # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 그래픽창을 설정하는 코드 # scene.range = (5,5,5) scene.center = .. 더보기
VPython 예제6 - 단진자의 운동 애니메이션 1 문제 위의 조건을 바탕으로 단진자의 운동을 애니메이션화하는 코드를 작성하시오. 이 때, 단진자의 x방향 운동속도를 화살표로 나타내시오. 2 코드 from vpython import * # 7.6.2 from math import * #------------------------------------------------------------------ # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 그래픽창을 설정하는 코드 scene.center = vector(0,-1,0) scene.width = 400 scene.height = 700 # 단진자와 이를 받쳐주는 바닥과 봉, 단진자의 실을 생성합.. 더보기
VPython 예제5 - 3자유도 스프링-질량계 애니메이션 1 문제 위의 조건을 바탕으로 3자유도 스프링-질량계의 움직임을 애니메이션화하는 코드를 작성하시오. 단, 마찰력은 무시한다. 2 코드 # code from https://youtu.be/oMBohUQz3NI from vpython import * # 7.6.2 from math import * #------------------------------------------------------------------ # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 그래픽창을 생성합니다 scene = canvas(width=800, height=300, center=vector(0,0,0)) # 3개의 물체를.. 더보기
VPython 예제4 - 진자의 등속원운동 애니메이션 1 문제 위의 조건을 바탕으로 등속원운동을 하는 물체의 애니메이션 코드를 작성하고 공의 x좌표를 x-t 그래프로 나타내는 코드를 작성하시오 2 코드 # code from http://tcjd71.wixsite.com/vpython/blank-1 from vpython import * # 7.6.2 #------------------------------------------------------------------ # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 그래픽창과 그래프창을 생성합니다 scene = canvas(width=600, height=600, fov = 0.01*pi) gd = gra.. 더보기
VPython 예제3 - 1자유도 스프링-질량계 애니메이션(2) 1 문제 위의 조건을 바탕으로 1자유도 스프링-질량계(1DOF spring-mass system)와 운동에너지, 탄성에너지, 역학적에너지를 애니메이션화하는 코드를 작성하시오. 단, 마찰력은 무시한다. 2 코드 # code from https://youtu.be/UoN70GjnBTI from vpython import * # 7.6.2 #------------------------------------------------------------------ # 그래픽 그려주는 코드 #------------------------------------------------------------------ m = 0.5 # 질량 k = 20.0 # 강성 v0 = 4.0 # 초기속도 # 마찰력을 고려할 때 사용하는.. 더보기
VPython 예제2 - 공의 자유낙하 애니메이션 (free-fall) 1 문제 위의 조건을 바탕으로 공이 27m 높이에서 자유낙하하는 애니메이션 코드를 작성하시오. 공의 질량은 무시하며 바닥과 공은 완성탄성충돌을 한다. 2 코드 # code from https://youtu.be/H8CzQtx9vds from vpython import * # 7.6.2 from math import * # 공과 바닥을 생성합니다. 공의 위치는 지면으로부터 18 + 9 = 27m 위에 있습니다. (vpython은 y축이 위아래방향입니다) ball = sphere(pos=vector(-5,18,0), radius=1, color=color.green) bottom = box(pos=vector(0,-9,0), size=vector(25,0.5,25)) # 초기속도는 x방향으로 0.7 m/s .. 더보기
VPython 예제1 - 1자유도 스프링-질량계 애니메이션 1 문제 위의 조건을 바탕으로 1자유도계 스프링-질량계(1DOF spring-mass system)을 애니메이션화하는 코드를 작성하시오 2 코드 # code from https://www.youtube.com/watch?v=c3tX_qReGIM from vpython import * # 7.6.2 g = 9.81 # 중력가속도 9.81 m/s^2 # 화면 객체를 생성합니다. backgroun 색과 카메라 center 포인트를 설정한다 scene = canvas(background = vector(0.36, 0.47, 0.23), center = vector(0, -0.7, -0.5)) # 천장의 물체를 생성합니다. 재질은 wood이고 색깔은 orange입니다. ceiling = box(length = 1.. 더보기