백준 코딩테스트 연습 2일차

정강훈·2022년 2월 28일
0

오늘은 백준 문제
1152번, 1712번, 1002번을 풀어보았다.

1152번 단어의 개수

별로 어렵지 않게 풀 수 있었다.
공백단위로 나누어서 입력을 받은 후
공백이 아니면 카운트가 올라가는 방식으로 그 수를 구하여서 해결하였다.

1712번 손익분기점


A가 고정비용, B가 생산하는데 필요한 비용, C가 판매 비용이다.
C - B <= 0 이면 이익이 생길수가 없어서 -1을 리턴한다.
C - B > 0 이면 1대를 팔 때마다 C-B 만큼의 이익이 생기기 때문에
A를 C-B로 나눈 후 1을 더해줘서 손익분기점이 될 때의 판매갯수를 알 수 있다.

1002번 터렛


루트를 구하기 위해 math함수를 사용한다.
dt는 주어진 두 점 사이의 거리로 다음과 같이 구한다.
dt = math.sqrt((x1-x2)2 + (y1-y2)2)

if x1==x2 and y1==y2 and r1==r2:
print(-1)
이 부분은 두 원이 일치할 때 만나는 점의 갯수가 무한대라서 -1이 된다.

elif dt == abs(r1-r2) or dt == r1 + r2:
print(1)
이 부분은 내접하거나 외접할 때의 경우 만나는 점은 1개이기 때문에 1이 된다.

elif dt > abs(r1 - r2) and dt < r1 + r2:
print(2)
서로 다른 원이 2부분에서 겹치는 경우이다.

else:
print(0)
나머지 접하는 점이 없는 경우 0을 리턴한다.

이상 오늘은 3문제를 풀이하였다.

0개의 댓글