본문 바로가기

Coding

Modern C++ 개념 및 예제 코드 정리 (c++11, 14, 17, 20) 본 포스트는 필자가 Modern C++을 공부하면서 중요하다고 생각되는 내용들을 정리한 포스트이다. 다루는 내용이 매우 많기 때문에 블로그 포스팅 형식으로는 더 이상 작성하지 않고 latex 파일로만 작성한다. 더보기
[PS] 알고리즘 문제 풀이 - 유용한 팁 및 문제 리스트 정리 자료구조와 알고리즘에 대해 더 알고 싶다면 [PS] 자료구조와 알고리즘 개념 정리 (Data Structure) Part 1 , [PS] 자료구조와 알고리즘 개념 정리 (Data Structure) Part 2 포스트를 참조하면 된다.Basic knowledgeTip문제는 다음 링크를 통해 확인할 수 있다.백준: boj.kr/{문제 번호}정올: jungol.co.kr/problem/{문제 번호}채점용 서버는 일반적으로 1초에 1~5억번의 연산을 수행한다. 따라서 데이터가 $n=10000\sim20000$개 일 때 $O(n^2)$ 알고리즘은 제한시간 1초 내 통과하기 어렵다.#include bits/stdc++.h> 를 사용한다. Mac이나 Windows는 기본적으로 해당 파일이 존재하지 않으므로 해당 링.. 더보기
[PS] 자료구조와 알고리즘 개념 정리 (Algorithm) Part 2 자료구조와 알고리즘에 대해 더 알고 싶다면 [PS] 자료구조와 알고리즘 개념 정리 (Data Structure) Part 1 포스트를 참조하면 된다.PS 문제풀이 팁 및 문제 리스트에 대해 더 알고 싶다면 [PS] 알고리즘 문제 풀이 - 유용한 팁 및 문제 리스트 정리 포스트를 참조하면 된다.AlgorithmMathRecursion재귀(Recursion)는 함수가 자기 자신을 호출하여 문제를 해결하는 방식이다. 재귀로 문제를 푼다는 것은 귀납적인 방식으로 문제를 해결하겠다는 것과 동일하다. 올바른 재귀 함수는 반드시 특정 입력에 대해서는 자기 자신을 호출하지 않고 종료되어야 하는데 이를 보통 base condition이라고 한다. 또한 모든 입력은 base condition으로 수렴해야 한다.  재귀는 .. 더보기
[PS] 자료구조와 알고리즘 개념 정리 (Data Structure) Part 1 자료구조와 알고리즘에 대해 더 알고 싶다면 [PS] 자료구조와 알고리즘 개념 정리 (Data Structure) Part 2 포스트를 참조하면 된다.PS 문제풀이 팁 및 문제 리스트에 대해 더 알고 싶다면 [PS] 알고리즘 문제 풀이 - 유용한 팁 및 문제 리스트 정리 포스트를 참조하면 된다. 본 포스팅은 필자가 Problem Solving(PS)를 공부하면서 정리한 포스팅이다.Data structureLinked list연결 리스트(Linked List)는 노드들이 포인터로 연결되어 있는 선형 자료구조이다. 각 노드는 데이터와 다음 노드를 가리키는 포인터로 구성되어 있으며, 데이터의 동적 추가 및 삭제가 용이하다.  연결하는 방법 및 개수에 따라 단일 연결 리스트(single linked list), .. 더보기
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.. 더보기