728x90

https://swexpertacademy.com/main/solvingProblem/solvingProblem.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


코드

T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
    N, A, B = map(int,input().split())
    answer = -1
    for r in range(1,N+1):
        c = 1
        while r*c <= N:
            cond = A * abs(r-c) + B*(N-r*c)
            if answer == -1:
                answer = cond
            else:
                answer = min(answer, cond)
            c += 1
    print("#%d %d" %(test_case, answer))

풀이

answer 를 -1 로 초기화하고 최소값을 비교하며 답을 구한다.

매번 테스트 케이스마다 N, A, B 를 입력받는다.

 

r*c 직사각형으로 정사각형을 만들어야 한다.

r을 포문을 돌면서 포문 안에서 r*c 가 N보다 같거나 작을 때까지 c를 하나씩 더해가며 

문제에서 요구하는 A X lR – Cl + B X (N - R X C) 를 구한다.

728x90

https://swexpertacademy.com/main/talk/solvingClub/problemView.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


코드

def myPow(N,M):
    global n,m,answer
    if M == m:
        answer = N
        return
    myPow(N*n, M+1)
     
for _ in range(10):
    t = int(input())
    n,m = map(int,input().split())
    myPow(n,1)
    print("#%d" %t, answer)

풀이

재귀함수로 거듭제곱을 구현하라는 쉬운 문제였다.

SWEA 를 처음 써봐서 import sys가 안된다는 것도 몰랐다. ㅎㅎ...

여기서는 input() 사용하자.

'알고리즘 문제 풀이 > SWEA' 카테고리의 다른 글

[SWEA] 1491. 원재의 벽 꾸미기 python  (0) 2022.05.28

+ Recent posts