예꾸
개발자국
예꾸
전체 방문자
오늘
어제
  • 분류 전체보기 (111)
    • CS (6)
      • 데이터베이스 (5)
      • 운영체제 (0)
      • Computer Architecture (1)
    • 끄적끄적 (4)
    • 이론 (29)
      • 알고리즘 (18)
      • 자료구조 (4)
      • WEB (2)
      • JS (2)
      • Git (2)
      • Python (1)
    • 면접준비 (3)
      • Vue (1)
      • Design Pattern (1)
      • Frontend (1)
    • 개발기술 (20)
      • Git PUSH 자동화 (3)
      • VUE (1)
      • Linux (2)
      • MERN Stack (2)
      • React기반 Gatsby로 블로그 개발하기 (6)
      • Typescript (0)
      • 감정일기장(React) (3)
      • CI CD (3)
    • 코드트리 (6)
      • 블로그 챌린지 (3)
      • 모의시험 (3)
    • 취업준비 (3)
      • 코딩테스트 후기 (3)
    • 프로그래머스 (8)
      • SQL (7)
      • 알고리즘 (1)
    • 백준 (31)
      • 그리디(탐욕법) (6)
      • 구현 (5)
      • 그래프탐색(dfs, bfs) (5)
      • 완전탐색 (5)
      • 문자열 (5)
      • 누적합 (2)
      • DP(다이나믹 프로그래밍) (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 컴퓨터 시스템의 구조
  • 백준 그래프탐색
  • JS
  • gatsby
  • React
  • javascript
  • 코드트리
  • 자료구조
  • 코딩테스트실력진단
  • 백준 구현
  • 백준 그리디
  • 알고리즘
  • 운영체제
  • 백준 문자열
  • 코드트리 추천
  • 프로그래머스 SQL
  • 코딩테스트
  • 백준 완전탐색
  • 나만의공부노트
  • 프로그래머스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
예꾸

개발자국

[백준 19532] 수학은 비대면강의입니다 - python
백준/완전탐색

[백준 19532] 수학은 비대면강의입니다 - python

2021. 6. 9. 02:41

https://www.acmicpc.net/problem/19532

 

19532번: 수학은 비대면강의입니다

정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $-

www.acmicpc.net

 

문제 풀이

  • 완전 탐색문제이므로 for문을 이용해 풀이하려했습니다
  • x와 y를 무식하게 전부 찾는 방식으로 풀이했음
  • 처음에 코드를 짰을 땐 런타임에러가 떴는데 break를 사용해 이를 해결하였습니다
a, b, c, d, e, f = map(int, input().split())

result = []
for x in range(-999, 1000):
    for y in range(-999, 1000):
        if a*x + b*y == c and d*x + e*y == f:
            result = [x, y]
            break

for i in range(2):
    print(result[i], end=' ')

다른 사람 풀이

  • 다른 분의 풀이를 보니 이런 연립방정식 문제에서는 가감법을 사용한다고 합니다
  • 아래처럼 X자 모양으로 수를 곱한뒤 나눠주면 쉽게 x와 y값을 구할 수 있습니다 

a, b, c, d, e, f = map(int, input().split())
x = (c*e-b*f)//(a*e-b*d)
y = (c*d-a*f)//(b*d-a*e)
print(x, y)

 

    '백준/완전탐색' 카테고리의 다른 글
    • [백준 15721] 번데기 - python
    • [백준 18312] 시각 - python
    • [백준 2231] 분해합 - python
    • [백준 2798] 블랙잭 - python
    예꾸
    예꾸
    비전공자 옒의 개발이야기💻

    티스토리툴바