백준 2023 신기한 소수
왼쪽부터 1자리, 2자리, 3자리, 4자리 수 모두 소수이므로 최초 왼쪽 한자리에 소수가 가능한 2,3,5,7로 시작한다. (x 라고 설정) 그 다음에는 x * 10 + i가 소수인지 판정하면 되는데 짝수 및 5는 나누어짐으로 i는 1,3,7,9가 대상이 된다. 소수로 판정이 나면 위 작업을 해당 숫자가 N자리가 될 때 까지 반복한다. n=int(input())r=[] # result, 결과 저장용def f(x):# 재귀함수 if x//(10**(n-1)):r.append(x);return #숫자의 자리수가 n이면 결과 리스트에 추가하고 리턴for i in[1,3,7,9]: # 위에서 x * 10 + i가 소수인지 판정시 i에 해당하는 숫자 t=x*10+i # 자리수를 하나 늘림. p=1 # ..
백준 15658 연산자 끼워넣기 (2)
숫자의 배열이 n개 있을 때 연산자는 n-1개가 들어갈 수 있다.이 문제에서는 사용할 수 있는 연산자가 최대 4n개 까지 주어지기 때문에연산자 조합을 사용하여 최대값과 최소값을 찾는다.찾는 방법은 백트래킹. n,*l=map(int,open(0).read().split())l=l[:n] # 수열s=l[n:] # 덧셈,뺄셈,곱셈,나눗셈 연산자별 사용가능 횟수y=1e9;x=-y # 최대, 최소 갱신을 위한 초기값 설정def f(i,t): # 연산자 사용횟수(n-1까지 가능), 현재까지의 계산 값 global x,y # 최대,최소값 if i==n:x=max(x,t);y=min(y,t);return # 케이스별 계산이 종료. 최대/최소 갱신. for j in range(4): # 연산자 종류별 순환 if s[..