알고리즘-python

    [BJ13460] 구슬 탈출2

    🚩 문제 설명 https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net ⏱️ 시간 복잡도 ▪ 상하좌우 움직인다면 X 4 ▪ 보드에서 움직이므로 O(4NM) ◾ 빨간구슬만 특정하여 보드 내에서 탈출시키는 문제 ◾ 파란구슬은 탈출하지 못하도록 예외 처리가 필요합니다. 이는 -1 을 출력해야합니다. ◾ 상하좌우를 움직인다면 구슬은 한 칸만 움직이는 것이 아니라, 중력에 의해 벽에 닿을 때 까지 움직입니다. ✅..

    Python 알고리즘 테스터 코드 만들기

    간단한 알고리즘 테스터 코드를 만들어보았습니다. 입력 파일과 출력 파일이 존재해야 테스터를 돌릴 수 있습니다. 이제 입력을 .txt 파일로 넣고 한 번에 알고리즘을 테스트해 보세요. 가끔 가다보면 끝에 개행문자(\n)가 하나 더 있어서 False가 뜨는 경우가 있습니다. 종종 살피면서 코드를 돌려보세요. # 알고리즘 입력 테스트 하기 # 알고리즘 출력 테스트 하기 # 알고리즘 Judge 파일 파일 구조 테스터 코드를 돌리기 위하여 필요한 파일 구조는 다음과 같습니다. → input 폴더 ▶ input 파일들 → output 폴더 ▶ output 파일들 → tester.py 파일 → code.py 파일 input 폴더 input 파일을 넣은 폴더입니다. input 폴더의 이름은 [input] 으로 고정해주..

    [수학] [BJ2004] 조합 0의 개수

    ✅ 조합 0의 개수 https://www.acmicpc.net/problem/2004 2004번: 조합 0의 개수 첫째 줄에 정수 $n$, $m$ ($0 \le m \le n \le 2,000,000,000$, $n \ne 0$)이 들어온다. www.acmicpc.net ◾ 평소 같은 방법으로 풀면 위와 같은 재밌는 결과를 볼 수 있다. import sys N, M = map(int, sys.stdin.readline().split()) def factorial(num, v): ans = 0 i = v while i

    [수학] [BJ1676] 팩토리얼 0의 개수

    ✅ 팩토리얼 0의 개수 import sys N = int(sys.stdin.readline()) def factorial(n): if n

    [수학] [BJ10872] 팩토리얼

    ✅ 팩토리얼 https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net import sys N = int(sys.stdin.readline()) def factorial(n): if n

    [수학] [BJ6588] 골드바흐의 추측

    🚩 문제 설명 https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net ⏱️ 시간 복잡도 ▪ 2부터 N 까지의 수 중에서 소수를 골라 합으로 나타낸다. ▪ 시간복잡도는 O(abs(N) x logN) 으로 해결할 수 있다. ◾ 두 소수의 합으로 해당 테스트 케이스의 수를 나타내는 문제 ◾ 골드바흐의 추측 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. ex) 3 + 5 = 8 ✅ 입출력 1) 각각의 테스트 케이스가 ..