본문 바로가기
반응형

전체보기330

[SWEA] 장훈이의 높은 선반 (python) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV2b7Yf6ABcBBASw SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 점원의 탑을(?) 쌓아서 선반보다 높이 쌓았을 때의 크기와 선반의 크기의 차이의 최소값을 구하는 문제 백트래킹을 활용하여 풀 수 있다. ⚙️내가 푼 정답 코드 def backtracking(a, sum_h): global result if sum_h >= result: # 지금 하는 합이 결과보다 크면 return # 끝 if sum_h >= B: # 선반보다 높아 result = min(resul.. 2023. 3. 31.
[SWEA] 격자판의 숫자 이어 붙이기 (python) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7I5fgqEogDFAXB SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 4*4 크기의 격자판을 상하좌우로 움직이면서 이어 붙였을 때 (중복 가능) 찾을 수 있는 7자리 수 중 서로 다른 개수를 찾는 문제 백트래킹을 활용하여 풀 수 있다. ⚙️내가 푼 정답 코드 def find(y,x,num): if len(num) == 7: #길이가 7이야 result.append(num) # 리스트에 넣자 return # 끝 for dy, dx in move : # 움직이자 ny, .. 2023. 3. 31.
[SWEA] 수영장 (python) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpFQaAQMDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 수영장 문제 1일, 1달, 3달, 1년 이용권의 가격으로 달마다 정해진 횟수로 수영장을 이용할 때 비용의 최소값을 구하는 문제 백트래킹이나 다이나믹 프로그래밍(DP)를 이용하면 풀 수 있다. ⚙️내가 푼 정답코드(백트래킹 활용) # 백트래킹을 이용한 방법 def find(a,pay): global result if pay >= result: return if a >= 12: result = min(.. 2023. 3. 31.
[백준 12728] n제곱 계산 (python) https://www.acmicpc.net/problem/12728 12728번: n제곱 계산 이 문제에서 숫자 (3 + √5)n 에 대한 소수점 앞에 마지막 세 자리를 찾아야합니다. 예를 들어, n = 5 일 때 (3 + √5)5 = 3935.73982 ... 이므로 답은 935입니다. n = 2 인 경우 (3 + √5)2 = 27.4164079 … 이므로, www.acmicpc.net n제곱 계산 문제 (3+√5)를 n제곱 했을 때 소수점 앞 세 자리를 찾는 문제 분할 정복과 수학에 대한 이해가 있어야 풀 수 있었다. ⚙️내가 푼 정답코드 def mult(a,b): # 행렬의 곱 구하기 A = [[0,0],[0,0]] for i in range(2): for j in range(2): for k in.. 2023. 3. 30.
[백준 14889] 스타트와 링크(python) https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 스타트와 링크 문제 짝수인 N명의 사람을 2개의 팀으로 나누어 각각의 팀의 능력치의 차이를 최소로 만드는 문제 백트래킹을 활용하거나 조합을 활용해서 풀 수 있다. ⚙️내가 푼 정답코드(백트래킹 활용) def team(a,n): global result if a == N//2: # 유망하다면 start, link = 0, 0 # start 팀, link팀 for i in range(N): for j in range(N).. 2023. 3. 30.
[백준 2630] 색종이 만들기(python) https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 색종이 만들기 문제 색종이의 가로 세로를 N//2 영역으로 만들어 내려갔을 때, 파란색 색종이 영역의 갯수와 흰색 색종이 영역(잘려나간 흰색 종이)의 갯수를 구하는 문제 분할 정복을 활용한 재귀를 이용하면 쉽게 풀 수 있다 ⚙️내가 푼 정답코드 def div(y, x, n): color = paper[y][x] # 색종이의 색 for i in range(y, y+n): .. 2023. 3. 29.
반응형