[백준 1008번-파이썬/Python] A/B
알고리즘 공부/BOJ백준 풀이

[백준 1008번-파이썬/Python] A/B

http://acmicpc.net/problem/1008

{코드}

a, b = map(int, input().split())
print(a/b)

{설명}

정수인 숫자 두개가 한줄에 입력받으므로 map함수를 사용한다. 

파이썬은 정수간의 나눗셈에서 /를 사용하면 실수결과를 반환하고 //를 쓰면 나눗셈의 몫을 반환한다.

그러므로 print문 안에 /를 통해 출력하면 된다.

파이썬은 소수를 반복되기 전까지는 전부, 반복된다면 반복되는 부분을 추가로 16자리까지 출력하므로 오차범위를 생각할 필요가 없다.

{코드}

print(eval('/'.join(input().split())))

{설명}

이걸 파이토닉(Pythonic-파이썬스럽게 만드는 것)하게 만들자면, 파이썬에는 기본적으로 eval이라는 함수가 주어집니다.

eval은 연산식을 인자로 넘겨주며 해당 식의 결과를 반환합니다. (예: eval('5==4')는 False, eval('5*3')는 15를 반환)

그리고 join은 해당 함수를 부른 문자열을 join의 파라미터의 각 인덱스 사이에 삽입한 결과를 문자열로 반환한다.

join의 예시: 'a'.join('bbb') = 'babab'이며 'a'.join(['b', 'c', 'd']) = 'bacada'

이때 리스트/튜플/집합의 각 원소는 모두 문자열이어야하며 딕셔너리의 경우 키값으로 실행합니다.