반응형

안녕하세요, 츄르 사려고 코딩하는 집사!      코집사입니다.

1. 코드


a, b, c, d, e, f = map(int, input().split())

for i in range(-999, 1000) :
    for j in range(-999, 1000) :
        if (a*i) + (b*j) == c and (d*i) + (e*j) == f :
            print(i,j)

            

 

 

2. 솔루션


우리가 흔히 생각하는 연립방정식의 풀이는 위의 식과 아래의 식의 X 또는 Y를 맞춰 소거하는 형식으로 연립방정식을 풀곤합니다. 하지만, 컴퓨터로는 그렇게 할 필요가 없습니다. 이 문제를 푸는데 저는 크게 2가지 방법을 생각했습니다.

 

1. 역행렬을 이용한 문제 풀이

2. for문을 2개 이용하여 푸는 문제 풀이

 

저는 위에서 2번을 선택하여 쉽게 풀었습니다.

문제를 보면 -999부터 999까지 범위를 설정해줬기 때문에, 위의 식과 아래의 식을 동시에 성립하게 되는 x와 y값을 구하면 됩니다.

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기