본문 바로가기
반응형

수학14

백준 12036번 Dance Around The Clock - C++(cpp) 풀이 1. 어떤 수 N이 짝수라면 양옆은 항상 홀수이고, 어떤 수 N이 홀수라면 양옆은 항상 짝수이다. 2. 어떤 수 N의 오른쪽 수는 항상 N의 왼쪽 수보다 2 작다. 3. K가 짝수인 경우 한 턴이 지나면 왼쪽 번호가 2 커지고, K가 홀수인 경우에는 2 작아진다. 1. 어떤 수 N이 짝수라면 양옆은 항상 홀수이고, 어떤 수 N이 홀수라면 양옆은 항상 짝수이다. 짝수와 홀수를 짝지어 자리를 바꾸기 때문에 턴이 계속되어도 항상 짝수 홀수가 번갈아서 배치되는 규칙이 있다. 2. 어떤 수 N의 오른쪽 수는 항상 N의 왼쪽 수보다 2 작다. 그리고 또 어떤 수의 오른쪽 수 = 왼쪽 수 - 2라는 규칙이 있다. 3. K가 짝수인 경우 한 턴이 지나면 왼쪽 번호가 2 커지고, K가 홀수인 경우에는 2 작아진다. 위에.. 2022. 3. 21.
백준 1007번 백터 매칭 - 스위프트(Swift) 풀이 1. 각 점을 위치 벡터로 생각한다. 2. 점 A에서 B로 가는 벡터는 (B 위치 벡터) - (A 위치 벡터)이다. 3. 절반을 역벡터로 만든 뒤 모든 벡터를 합치면 벡터 매칭에 있는 벡터의 합을 구할 수 있다. 1. 각 점을 위치 벡터로 생각한다. 먼저 각 점을 위치 벡터로 생각해줄 것이다. 2. 점 A에서 B로 가는 벡터는 (B 위치 벡터) - (A 위치 벡터)이다. 다음과 같은 성질을 이용할 것이다. 두 점 A, B를 골라 A→B 또는 B→A로 가도록 벡터로 잇는 작업은, 두 점 A, B를 고른 뒤 두 점으로 가는 위치 벡터 중 하나를 역벡터로 만드는 작업이라고 할 수 있다. 3. 절반을 역벡터로 만든 뒤 모든 벡터를 합치면 벡터 매칭에 있는 벡터의 합을 구할 수 있다. 결국 구해야 하는 것은 벡터.. 2022. 2. 4.
백준 10993번 별 찍기 - 18 - 스위프트(Swift) 풀이 + 그림 설명 1. N-1 크기의 삼각형을 감싸고 있는 테두리 삼각형을 그린다. 2. 안쪽 중앙에 N-1 크기의 삼각형을 그린다. 3. N이 짝수일 때, 홀수일 때 모양을 구분해준다. 1. N-1 크기의 삼각형을 감싸고 있는 테두리 삼각형을 그린다. 출력 예시를 보고 규칙을 찾아보면, N일 때의 출력은 N-1일 때의 출력 결과를 품고 있는 삼각형이다. N=3일 때를 보면 안에 N=2일 때의 결과를 더 큰 삼각형이 감싸고 있다. 따라서 바깥 테두리 삼각형을 그린 뒤, 적절한 내부 위치를 찾아 재귀적으로 N-1 삼각형을 그리는 함수를 호출하면 된다. 2차원 배열을 선언해주고, 함수 파라미터에 그려야 하는 위치(행, 열)를 넘겨주면 재귀 호출로 내부의 원하는 위치에 그릴 수가 있다. 출력을 보고 규칙을 찾으면, N일 때 테.. 2022. 1. 24.
백준 1676번 팩토리얼 0의 개수 - 스위프트(Swift) 풀이 수학 문제. 1. 뒤에 붙는 0의 개수는 10이 몇 번 곱해졌는지와 같다. 2. 10을 소인수분해하면 10 = 2 X 5이다. 2. 따라서 N! 을 소인수분해했을 때 min(2의 개수, 5의 개수)가 맨 뒤에 붙는 0의 개수이다. 3. 2의 개수가 5의 개수보다 많을 테니, 5의 개수를 세준다. 1. 뒤에 붙는 0의 개수는 10이 몇 번 곱해졌는지와 같다. 어떤 수의 뒤에 0이 붙으려면 10을 곱해야 한다. 따라서 N! 을 계산할 때 10이 몇 번 곱해졌는지를 세면 된다. 1. 10을 소인수분해하면 10 = 2 X 5이다. 10을 소인수분해하면 2 X 5이다. 따라서 어떤 수에 10을 곱한다는 말은 2와 5를 모두 한 번씩 곱해준다는 말이다. 2. 따라서 N!을 소인수분해했을 때 min(2의 개수, 5의.. 2022. 1. 17.
반응형