1008번: A/B
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
문제 내용

풀이
두 정수를 A, B로 입력받고 A/B값을 출력합니다.
input(). split()로 입력받고 float형으로 형변환 시키면 쉽게 풀 수 있습니다.
a,b=input().split()
print(float(a)/float(b))
파이썬에서의 출력이 백준문제에서 요구한 대로 되었기 때문에 문제없이 넘어갈 수 있지만, 공부차원으로 절대오차와 상대오차에 대해서 학습하고, 이에 대한 코드는 무엇인지 알아봅시다.
오차의 개념은 다음과 같습니다. https://whitecode2718.tistory.com/42
[수치 해석] 근삿값과 반올림 오차
수치해법 방식을 이용하는 근본적인 이유는 어떤 결과든 "정확하게" 값을 구하는 게 불가능하기 때문입니다. 어떤 값을 구하든 오차가 무조건 생기기 때문이죠. 예를 들어 속도를 측정 한다고
whitecode2718.tistory.com
" 참값 = 근삿값 + 오차 "에서 우리가 출력하는 건 근삿값이 됩니다. 즉, 1/3을 출력하면 0.333333... 의 참값을 오차를 감안하고 근삿값으로 0.333이나 0.333333으로 출력한다는 뜻입니다.
즉, "오차"가 10-9라는 이야기는 근삿값 + 0.000000001 = 참값으로 인정한다는 말이고, 이 오차 이내는 당연히 10-10이 아니라 10-8, 10-7을 포함합니다. 쉽게 생각하면 자릿수 오차를 9자리까지 허용한다는 말입니다.
예를 들면 1/3의 참값은 0.33333333...이고 근삿값을 0.333333333이면 (참값 - 근삿값 =) 오차의 오차는 0.0000000003...이고 이 오차는 10-9 보다작기에 문제의 조건을 만족합니다.
하지만 근삿값이 0.333이라면 오차는 0.000333...으로 허용 오차인 10-9보다 훨씬 크다는 것을 알 수 있습니다.
이를 통해 우리가 출력하게 될 근삿값이 9 자릿수 이상이라면 위의 10-9 오차 조건을 만족할 수 있을 거라고 생각할 수 있습니다.
여기서 오차라는 개념을 무시하고 자릿수를 그냥 9자리로 맞춰도 답은 나오지만 추천하지 않습니다.
풀이
파이썬에서 자릿수 지정 함수는 round() 함수입니다.
a,b=input().split()
print(round(float(a)/float(b),9))
round()는 excel의 함수처럼 주어진 값을 원하는 자릿수까지 반올림해 주는 함수입니다.
첫 번째 인수는 주어진 값, 두 번째 인수는 반올림할 자릿수이고 음수일 경우 10의 제곱 단위만큼 반올림합니다. 예를 들어 round(3.33333,2) = 3.33이고 round(1023,-3) = 1000, round(1923,-3) = 2000입니다.
파이썬에서는 단순히 input(). split()로 입력받고 문자열 형식을 실수형으로 형변환 해주면 쉽게 풀 수 있지만, 오차의 개념을 이해하는 게 중요한 문제입니다.
input.split()에 대한 설명은 아래링크에 있습니다.
https://whitecode2718.tistory.com/96
[백준] 1000번 : A + B (1단계) (Python)
https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 내용 해석 두 정수를 변수로 입력받고, 합을 계산한 뒤 결과를 출
whitecode2718.tistory.com
'프로그래밍 > 코딩 테스트 연습' 카테고리의 다른 글
[백준] 10869번 : 사칙연산 (1단계) (Python) (0) | 2024.02.14 |
---|---|
[백준] 10869번 : 사칙연산 (1단계) (C++) (1) | 2024.02.14 |
[백준] 10998번 : A * B (1단계) (Python) (0) | 2024.02.13 |
[백준] 1001번 : A - B (1단계) (Python) (0) | 2024.02.13 |
[백준] 1000번 : A + B (1단계) (Python) (0) | 2024.02.13 |
1008번: A/B
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
문제 내용

풀이
두 정수를 A, B로 입력받고 A/B값을 출력합니다.
input(). split()로 입력받고 float형으로 형변환 시키면 쉽게 풀 수 있습니다.
a,b=input().split()
print(float(a)/float(b))
파이썬에서의 출력이 백준문제에서 요구한 대로 되었기 때문에 문제없이 넘어갈 수 있지만, 공부차원으로 절대오차와 상대오차에 대해서 학습하고, 이에 대한 코드는 무엇인지 알아봅시다.
오차의 개념은 다음과 같습니다. https://whitecode2718.tistory.com/42
[수치 해석] 근삿값과 반올림 오차
수치해법 방식을 이용하는 근본적인 이유는 어떤 결과든 "정확하게" 값을 구하는 게 불가능하기 때문입니다. 어떤 값을 구하든 오차가 무조건 생기기 때문이죠. 예를 들어 속도를 측정 한다고
whitecode2718.tistory.com
" 참값 = 근삿값 + 오차 "에서 우리가 출력하는 건 근삿값이 됩니다. 즉, 1/3을 출력하면 0.333333... 의 참값을 오차를 감안하고 근삿값으로 0.333이나 0.333333으로 출력한다는 뜻입니다.
즉, "오차"가 10-9라는 이야기는 근삿값 + 0.000000001 = 참값으로 인정한다는 말이고, 이 오차 이내는 당연히 10-10이 아니라 10-8, 10-7을 포함합니다. 쉽게 생각하면 자릿수 오차를 9자리까지 허용한다는 말입니다.
예를 들면 1/3의 참값은 0.33333333...이고 근삿값을 0.333333333이면 (참값 - 근삿값 =) 오차의 오차는 0.0000000003...이고 이 오차는 10-9 보다작기에 문제의 조건을 만족합니다.
하지만 근삿값이 0.333이라면 오차는 0.000333...으로 허용 오차인 10-9보다 훨씬 크다는 것을 알 수 있습니다.
이를 통해 우리가 출력하게 될 근삿값이 9 자릿수 이상이라면 위의 10-9 오차 조건을 만족할 수 있을 거라고 생각할 수 있습니다.
여기서 오차라는 개념을 무시하고 자릿수를 그냥 9자리로 맞춰도 답은 나오지만 추천하지 않습니다.
풀이
파이썬에서 자릿수 지정 함수는 round() 함수입니다.
a,b=input().split()
print(round(float(a)/float(b),9))
round()는 excel의 함수처럼 주어진 값을 원하는 자릿수까지 반올림해 주는 함수입니다.
첫 번째 인수는 주어진 값, 두 번째 인수는 반올림할 자릿수이고 음수일 경우 10의 제곱 단위만큼 반올림합니다. 예를 들어 round(3.33333,2) = 3.33이고 round(1023,-3) = 1000, round(1923,-3) = 2000입니다.
파이썬에서는 단순히 input(). split()로 입력받고 문자열 형식을 실수형으로 형변환 해주면 쉽게 풀 수 있지만, 오차의 개념을 이해하는 게 중요한 문제입니다.
input.split()에 대한 설명은 아래링크에 있습니다.
https://whitecode2718.tistory.com/96
[백준] 1000번 : A + B (1단계) (Python)
https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 내용 해석 두 정수를 변수로 입력받고, 합을 계산한 뒤 결과를 출
whitecode2718.tistory.com
'프로그래밍 > 코딩 테스트 연습' 카테고리의 다른 글
[백준] 10869번 : 사칙연산 (1단계) (Python) (0) | 2024.02.14 |
---|---|
[백준] 10869번 : 사칙연산 (1단계) (C++) (1) | 2024.02.14 |
[백준] 10998번 : A * B (1단계) (Python) (0) | 2024.02.13 |
[백준] 1001번 : A - B (1단계) (Python) (0) | 2024.02.13 |
[백준] 1000번 : A + B (1단계) (Python) (0) | 2024.02.13 |