본문 바로가기

코딩 테스트/Python_백준88

[백준/Python] 2485번 가로수 문제 ■ 2485번 가로수 문제 ■ 코드 풀이 백준 문제를 풀면서 정말 많이 배우는 것 같습니다. 파이썬 math에는 gcd라는 함수가 있는데요. 이 gcd 함수는 두 수의 최대 공약수를 구해준다고 합니다. 가로수 간격의 최대 공약수를 어떻게 구해야 하지 하면서 고민하고 있었는데 단번에 고민 해결이네요. 역시 세상에 코딩 고수들은 정말 많은 것 같습니다. 참고로 최대 공약수 이외에도 최소 공배수를 구해주는 함수도 있다고 합니다. 관련 링크는 코드 아래에 넣어 두었으니, 궁금하신 분들은 한번 들어가 보시는 것도 나쁘지 않아 보입니다. import sys from math import gcd N = int(sys.stdin.readline()) a = int(sys.stdin.readline()) arr = [].. 2023. 6. 16.
[백준/Python] 1735번 분수 합 문제 ■ 1735번 분수 합 문제 ■ 코드 풀이 (44ms) 기약 분수는 분자와 분모의 공약수가 없는 상태입니다. 우선 분자(top)와 분모(bottom)의 최대 공약수가 있는지 유클리드 호제법을 통해 빠르게 확인합니다. 최대 공약수가 없다면, 기약 분수를 의미하므로 break로 while문을 탈출합니다. 최대 공약수가 있다면, 아래 코드에서 else 구문을 진행합니다. 분자와 분모가 동시에 2로 나누어지지 않을 때까지 계속 2로 나누어 줍니다. 분자와 분모가 2로 나누어지지 않는 경우에는 1씩 증가(i+1)시켜서 위의 과정을 반복합니다. 유클리도 호제법에 대해 모르시는 분들을 위해 코드 아래에 링크 넣어 두었으니, 참고하셔서 공부하시면 될 것 같습니다. A,B = map(int, input().split().. 2023. 6. 15.
[백준/Python] 13241번 최소공배수 문제 ■ 13241번 최소공배수 문제 ■ 코드 풀이 문제에서 요구한 내용은 두 가지입니다. 첫 번째는 두 숫자의 최소 공배수를 구하라는 것이고 두 번째는 큰 수의 경우는 64비트 정수로 선언하라는 것입니다. 최소 공배수를 구하는 건 유클리드 호제법을 활용하면 쉽게 풀 수 있는데요. 이전 문제 풀이에서 자세하게 코드 설명을 해드렸으니, 혹시 잘 모르시는 분들께서는 코드 아래의 풀이 문제를 다시 한번 살펴보고 오시면 도움이 될 것 같습니다. 두 번째 요구 사항, '큰 수의 경우에는 64비트 정수로 선언'에 대해서는 파이썬이라는 언어를 활용한다면 별도로 다른 정수형 타입을 선언할 필요가 없습니다. 그냥 int로 선언하면 그것이 64비트입니다. 이는 파이썬이 플랫폼 독립적인 인터프리터 언어여서 그런 것인데요. Jav.. 2023. 6. 7.