[백준/파이썬] 17945번 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 17945번 문제
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
태현이는 매일 한양대로 통학하는 학생이다. 태현이가 집에서 나와서부터 건물까지 도착하는 데는 약 1시간 40분이 걸린다. 태현이는 올해부로 3년 째 통학하고 있다. 오늘 태현이는 학교를 가기 위해 1시간 40분 전에 출발했으나, 열차가 지연되어 아직 왕십리까지 오지도 못했다. 평소에도 통학이 지긋지긋했지만 오늘 태현이는 화가 머리 끝까지 났다. 이게 과연 받아들이고 말아야 할 일인가? 하루에 길바닥에 4시간을 버리다니! 매번 학교까지 오는데 에너지를 다 써버려서 수업을 들을 힘도 없다.
열차는 왜 매번 지연되고, 지하철엔 왜 이렇게 사람이 터지는가! 아침 통학길마다 태현이는 평생 사람과 이렇게 가까이 붙어본 적이 없다고 느낀다. 열차를 조금만 증설해 준다면 태현이의 통학길이 조금 편해질 텐데… 하지만 피곤에 쩐 태현이가 할 수 있는 것은 그렇게 많지 않았다.
너무 화가 난 태현이는 통학 동아리를 만들기로 했다. 매일 모여서 통학이 얼마나 힘든지에 대해 이야기하고 서로 위로를 해주는 동아리이다. …
입력 요약
x2 + 2Ax + B = 0 의 두 계수 A, B가 주어진다. A, B는 정수이며, 이 방정식의 근은 항상 정수이다. (-1000 ≤ A, B ≤ 1000)
출력 요약
첫 번째 줄에 방정식의 근들을 모두 공백으로 분리해 오름차순으로 출력한다. 중근일 경우 하나만 출력한다.
코드
a,b=map(int,input().split())
s=set()
s.add(int(-2*a+((2*a)**2-4*b)**.5)//2)
s.add(int(-2*a-((2*a)**2-4*b)**.5)//2)
print(*sorted(s))
설명
핵심은 구현 관점에서 태현이는 매일 한양대로 통학하는 학생이다. 태현이가 집에서 나와서부터 건물까지 도착하는 데는 약 1시간 40분이 걸린다. 태현이는 올해부로 3년 째 통학하고 있다. …를 만족하도록 로직을 구성하는 것입니다.
코드는 입력을 파싱한 뒤 조건 분기와 계산을 순서대로 수행하고, 문제에서 요구한 형식으로 결과를 출력합니다.
경계값과 예외 케이스도 함께 고려해 오답이 나기 쉬운 상황을 방지합니다.
댓글남기기