전체 글(25)
-
[Algorithm] 최대공약수, 최소공배수 구하기
학교에서 배운 최대공약수와 최소공배수의 정의는 다음과 같습니다. 최대공약수(GCD, Greatest common divisor): 여러개의 정수중 그들 모두의 약수가 되는 공약수(Common divisor)중 최대값 최소공배수(LCM, Least common multiple): 여러 개의 정수중 그들 모두의 배수가 되는 공배수(Common multiple)중 최소값 우선, 최대공약수는 유클리드 호제법(Euclidean algorithm)을 사용하여 구할 수 있습니다. 유클리드 호제법은 2개의 자연수의 최대공약수를 구하는 알고리즘입니다. 유클리드 호제법의 정확한 설명은 다음과 같습니다. A를 B로 나눈 나머지 값을 R이라고 할 때, A와 B의 최대공약수는 B와 R의 최대공약수와 같다 예를 들어서 62와 2..
2019.12.04 -
[Algorithm] 소수 구하기
주: 이 포스트는 작성중입니다. 소수(Prime number)란 1과 자기 자신으로밖에 나누어지지 않는 1을 제외한 정수입니다. 다음은 C++로 구현한 가장 일반적인 소수구하기 알고리즘입니다. #include using namespace std; bool IsPrimeNumber(int n) { if (n
2019.12.03 -
[C++] 입력 개수가 주어지지 않았을 때 입력받기
문제에서 입력 해야할 개수가 주어지지 않고, 개행문자를 입력받기 전까지 계속 입력해야하는 경우에 사용합니다. #include using namespace std; int main() { int n; do { cin >> n; cout
2019.12.03 -
[C++] 그래프(Graph) 구현
주) 이 포스트는 작성중입니다. C++에서 그래프를 구현하는 방법에는 크게 두가지가 있습니다. 각 방법은 명확한 장단점을 가지고 있으니, 문제를 해결할때 적당한 방식을 선택하여 구현하여야 합니다. 첫번째는 행렬을 이용한 구현(인접행렬, Adjacency matrix)이고, 두번째는 리스트(List)를 이용한 구현(인접리스트, Adjacency List)입니다. 1. 인접행렬을 사용한 그래프 구현 #include #include #define GRAPH_MAX_SIZE 1000 //그래프 최대 사이즈 using namespace std; int graph[GRAPH_MAX_SIZE][GRAPH_MAX_SIZE]; //그래프 선언 int main() { //다음 예제는 Matrix를 사용하여 그래프를 구현하..
2019.12.02 -
첫 코드포스 도전 후기
저는 소프트웨어학과를 올해(2019) 입학한 학부 신입생입니다. 그리고 소프트웨어학과는 프로그래밍을 배웁니다. 프로그래밍을 배우는 과정에서 개발자 커뮤니티나 동기, 선배 등 제가 가야 할 길을 미리 거쳐간 많은 사람들의 조언을 들을 수 있었는데, 그들이 입을 모아 말하는 것이 한 가지가 있습니다. 문제를 많이 풀어봐라. 고등학생때 비록 잘하지는 못했지만 수학이라는 학문을 공부한 경험으로 왜 하나같이 입을 모아 이런 말을 하는지 알 수 있었습니다. 어떤 학문에 있어서 그 법칙과 개념들은 객관적인 것들입니다. 그러한 것들은 우리가 공부를 통해 받아들일 수 있습니다. 하지만 그러한 법칙과 개념들을 응용하는 것은 그저 그것을 알게 되는 것과는 전혀 다른 차원의 문제입니다. 여기서 프로그래밍 선배들이 해주신 조언..
2019.11.25 -
Mathf.Clamp - 변수 범위 제한함수
public static float Clamp(float value, float min, float max); Mathf.Clamp는 float value값이 float min(최소값)과 float max(최대값)사이에 있게 해주는 함수이다. value가 min보다 작아지면 min값을 반환하고, max보다 커지면 max값을 반환한다. using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void Update() { transform.position = new Vector3(Mathf.Clamp(Time.time, 1.0F, 3.0F), 0, 0); } } Clamp는 조임틀, 집게라는 뜻이다. 어떤 ..
2019.11.07