Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- mysql docker
- python
- 데이터베이스
- 도커 elk
- C언어
- 스트림셋이란?
- 앤서블 설치
- 백준
- 정보처리기사
- ansible install
- streamsets 강의
- docker
- nvidia docker
- 자바
- 도커 mysql
- 도커 시작하기
- 클라우드
- 파이썬
- 도커
- 알고리즘
- 데이트
- elk stack
- 코딩
- 푸시푸시
- java
- c++
- mysql on docker
- MySQL
- c
- 스트림셋
Archives
- Today
- Total
리그캣의 개발놀이터
[코딩도장] 농장 분할 python으로 풀어보기 본문
# 밥 아저씨는 돈을 힘들게 모은 끝에 한 토지를 구입했다.
# 밥 아저씨는 그 토지에 유명한 식물을 심을려고 하는데,
# 그 식물은 주변 n*n 미터 안에 다른 식물이 있으면 자라지 못한 다고 한다.
# 그러므로 토지의 넓이를 n*n으로 나누어야 한다.
# 토지의 가로와 세로의 길이를 입력받을때, 최대 심을 수 있는 식물의 개수는?
# (단, n의 값은 식이 성립하는 n의 범위 중에서 최대여야 한다.)
#
# 예)
# 640 400
# 1980 640
# 답)
# 40
# 3168
# 단 반드시 그 나무를 중심으로 한 n * n 영역이 필요하다.
# 그리고 그 영역이 다른 영역과 겹치면 안된다.
# 공약수 구하기
def max_common(a_num, b_num):
min_num = min(a_num, b_num)
list = []
for i in range (1, min_num+1):
if (a_num%i == 0 and b_num%i == 0):
list.append(i)
return max(list)
def area_num(a_num, b_num):
ab_num = a_num*b_num
_max_common = max_common(a_num, b_num)*max_common(a_num, b_num)
return ab_num / _max_common
print(int(area_num(640,400)))
'알고리즘' 카테고리의 다른 글
[코딩도장] 짝수 숫자를 *로 치환하기 (0) | 2019.02.27 |
---|---|
[코딩도장] python 문자가 들어왔을때 숫자만 붙여서 출력하기 (0) | 2019.02.19 |
[코딩도장] 리스트 회전 python으로 풀어보기 (0) | 2019.02.12 |
[코딩도장] 다음 인터뷰 문제 파이썬으로 풀어보기 (0) | 2019.02.04 |
[python] 구글 입사 문제 - 8이 나오는 갯수 구하기 (0) | 2019.02.03 |
Comments