https://www.acmicpc.net/problem/26517
해결방법
고등학교 수학 시간에 배웠던 개념을 잊지 않고 있어서 풀 수 있던 문제였다. 주어진 함수가 x=k에서 연속인지 판단하는 방법은 좌극한과 우극한이 같은지 확인하면 된다. 같다면 연속, 다르면 불연속.
코드
k = int(input())
a, b, c, d = list(map(int, input().split()))
r1 = a*k + b
r2 = c*k + d
if r1 == r2:
print("Yes",r1)
else:
print("No")
위 코드는 정석 풀이일 것이다. 그런데 이 문제의 특성상 약간의 기교를 살짝 부릴 수 있겠다 싶어 아래와 같은 코드로도 짜보았다.
k = int(input())
a, b, c, d = list(map(int, input().split()))
print(f"Yes {r}" if (r:=a*k + b)==c*k + d else "No")
코드 설명
- 주어진 함수가 x=k에서 연속인지 판정하는 코드를 짠 것이다. r1은 x<=k에서의 f(x), r2는 x>k에서의 f(x)를 의미한다. 그리고 그 둘(r1, r2)이 같다면 연속한다는 의미이므로, 주어진 형식에 맞게 정답을 출력한다.
- 1과 마찬가지의 코드이다. 다른 점이라면 python의 삼항연산자와 바다코끼리 연산자(:=)를 사용했다는 점이다.
'문제 풀이 > 백준' 카테고리의 다른 글
[S3] 백준 21921 - 블로그 (Python3) (0) | 2023.01.14 |
---|---|
[S4] 백준 4949 - 균형잡힌 세상 (Python3) (0) | 2023.01.14 |
[Python] 백준 5430 - AC (0) | 2022.05.29 |
[Java] 백준 6068 - 시간 관리하기 (0) | 2022.05.20 |
[Python] 백준 6068 - 시간 관리하기 (0) | 2022.05.20 |
댓글