정기모임을 위한 공간 대여에 문제가 있었다..
그래서 위기를 기회로 삼아 팀 대항전을 준비했다!
다들 재밌다고 해서 다행이당
종종 해야겠다.
우리가 성취감을 느끼기 좋은 난이도의 문제는 브론즈 5 - 실버 3 사이 문제인 것 같으니 이 단계를 좀 더 넣어야겠다.
<백준 2712번 미국 스타일>
소수점 있으니까 float
소수점 4자리에서 끊기
round() 쓰면 소수점 자리가 0일 시 제대로 작동하지 않는다. ex) 3.0000 이런거
'{:.4f}'.format(숫자) 포맷을 써야 함
근데 띄어쓰기로 포맷 써야 해서( 자료형 다르면 + 쓰기 불가)
변수로 두번 처리함!
포맷 쓴 거 변수에 넣을 수 있군
from sys import stdin
N = int(stdin.readline())
for i in range(N):
NList = list(map(str, stdin.readline().split()))
if NList[1] == 'kg':
result = float(NList[0])*2.2046
rere = ('{:.4f}'.format(result))
print("{} {}".format(rere,"lb"))
elif NList[1] == 'lb':
result = float(NList[0])*0.4536
rere = ('{:.4f}'.format(result))
print("{} {}".format(rere,"kg"))
elif NList[1] == 'l':
result = float(NList[0])*0.2642
rere = ('{:.4f}'.format(result))
print("{} {}".format(rere,"g"))
else:
result = float(NList[0])*3.7854
rere = ('{:.4f}'.format(result))
print("{} {}".format(rere,"l"))
맞았습니다!!
<백준 1004번 어린 왕자>
나오고 들어올 때 세기!
절댓값 구하기
abs()
from sys import stdin
N = int(stdin.readline()) # 테스트 케이스
for _ in range(N):
AX,AY,BX,BY = map(int, stdin.readline().split()) # 출발지, 도착지
n = int(stdin.readline()) # 행성 개수
nList = [ list(map(int,stdin.readline().split())) for _ in range(n)] # 행성 크기
result = 0
for i in range(n):
if abs(nList[i][0]-AX) < nList[i][2]:
if abs(nList[i][1] - AY) < nList[i][2]:
result += 1
elif abs(nList[i][0]-BX) < nList[i][2]:
if abs(nList[i][1] - BY) < nList[i][2]:
result += 1
print(result)
틀렸습니다..
생각을 잘못한 것 ->
엑스축 와이축 차이 따로따로 반지름이랑 비교한 것
반지름이 1인 원에서 출발점과 원중심이 엑스축 0.8. 와이축 0.8 떨어져 있으면 원 안에 있지 않다..
빠뜨린 것->
출발점이랑 도착점이 둘다 행성계 안에 있는 경우도 체크가 된다
from sys import stdin
N = int(stdin.readline()) # 테스트 케이스
for _ in range(N):
AX,AY,BX,BY = map(int, stdin.readline().split()) # 출발지, 도착지
n = int(stdin.readline()) # 행성 개수
nList = [ list(map(int,stdin.readline().split())) for _ in range(n)] # 행성 크기
result = 0
for i in range(n):
if ((nList[i][0]-AX)**2 + (nList[i][1] - AY)**2) < (nList[i][2])**2 and (nList[i][0]-BX)**2 + (nList[i][1] - BY)**2 < (nList[i][2])**2:
pass
elif ((nList[i][0]-AX)**2 + (nList[i][1] - AY)**2) < (nList[i][2])**2:
result += 1
elif ((nList[i][0]-BX)**2 + (nList[i][1] - BY)**2) < (nList[i][2])**2:
result += 1
print(result)
성공했습니다!!
원래는 더한 값에 0.5를 제곱시켜서 제곱근 구해 반지름이랑 비교시켰는데 이러면 답이 안 나왔다..
파이썬이 잘라먹는 게 있나??
그래서 반지름을 제곱시켰더니 됐다
math 모듈 - sqrt
(math.sqrt(값))
이런 것도 있는데 나중에 써봐야겠다
시상식~!
백준 실버 3 승급~!~!~!~!
올해 안에 골드 진급 목표!!
'Club|Project > Ec.crew 코딩 스터디' 카테고리의 다른 글
𝗘𝗰.𝗰𝗿𝗲𝘄 2기 4회차 문제 풀기 (1) | 2022.09.22 |
---|---|
Ec.crew 2기 3회차 팀대항전 문제 (1) | 2022.09.15 |
🫐Ec.crew 2기 1회차 OT🫐 (0) | 2022.08.31 |
🍇Ec.crew 1기 마무리/되돌아보기🍇 (0) | 2022.08.30 |
Ec.crew 9회차 정기 모임 문제 (call by ..문제->30일백준에) (0) | 2022.08.29 |