안경잡이 구루루

백준 1009( A/B ) [python] 본문

파이썬(Python)/문제풀이(백준,BaekJoon)

백준 1009( A/B ) [python]

구루루(gururu) 2020. 4. 8. 14:29
반응형

문제

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.


10-9 이하의 오차를 허용한다는 말은 꼭 소수 9번째 자리까지만 출력하라는 뜻이 아니다.


나:

a , b = map(int,input().split())
if a>0 and b<10:
    print(a/b)

 

split()을 사용해 빈칸을 기준으로 한줄에 a,b를 입력값으로 받았다.. input()은 입력값을 문자열로 받기 때문에 자료형을 바꿔줘야 하는데 정수형으로 썻다. 출력할때 조건이 있는데 그냥 나누는거랑 별 차이 없을거 같아 나눴다(다행히 성공.... 왜 되었는지 정확한 계산은 못하지만...)

 


다른사람1:  https://gabii.tistory.com/entry/BaekJoonPython3-%EB%B0%B1%EC%A4%80-1008%EB%B2%88-AB

)

a,b = input().split()
a = float(a)
b = float(b)
#print(a/b)
print(round(a/b,9))

)

split()을 통해 입력값을 한줄에 받았다. 조건에 맞추어 절대/상대오차를 생각해 float(실수) 자료형으로 바꾸어주었다. 이후 round라는 함수를 사용해 10자릿수 미만은 반올림에 의해 삭제되면서 9자리의 자릿수를 맞추었다.

round( number[,ndigits] )      # 숫자를 입력받아 반올림 해주는 함수

 


다른사람2:  

https://tastydarr.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EB%B0%B1%EC%A4%80-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-1008%EB%B2%88-AB

a,b=map(int,input().split())
print('%0.9f'%(a/b))

 

split() 을 통해 a,b를 한줄에 다 받으셨고 map함수를 통해 문자열로 받는 input()에 대해 int형으로 한줄로 받았다.

다른점은 출력값으로 문자열 포메팅을 사용하였다. 또한 소숫점을 표현하기 위해 ( %0.9f )를 사용했다.

# 소숫점 앞의 숫자는 전체 길이를 정한 문자열 공간 수를 의미함( 0은 정하지 않음을 의미 )

#소숫점('.')뒤의 숫자9는 소숫점 뒤에 나올 숫자의 개수를 의미함

<자주쓰는 문자열 포맷 코드 종류 >

%s: 문자열(string)   / %c: 문자 1개 (character)    / %d:정수(integer)  / %f:부동소수(floating- point)                   

 

%%: 문자 %자체

 


다른사람3: https://j-remind.tistory.com/13

A, B = map(float, input().split())
print(A/B)

 

split() 을 통해 a,b를 한줄에 다 받으셨고 map함수를 통해 문자열로 받는 input()에 대해 float형으로 한줄로 받았다

꼭 소수 9자리까지만 표현하라고 한건 아니기에 그냥 a/b를 사용

반응형