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
- 파이썬 sep
- not a git repository
- Til
- 주니어개발자역량강화
- 항해99
- print("""
- 코딩부트캠프후기
- 파이썬 int()
- 파이썬
- fatal:not a git repository
- 항해플러스
- Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
- MomentumParameters
- 파이썬 map 함수
- 99일지
- 개발자사이드프로젝트
- 파이썬 클래스
- 백준
- 99클럽 #99일지 #코딩테스트 #개발자스터디 #항해 #til
- 개발자스터디
- 파이썬 |
- 99클럽
- 주니어개발자멘토링
- print sep
- 코딩테스트
- vscode cp949
- 10430번
- cp949
- 항해
- EnvCommandError
Archives
- Today
- Total
선발대
[스파르타] 99클럽 2기 코테스터디 9일차 TIL / 카펫 본문
프로그래머스: 카펫 (링크)
예전에 간단하게 풀었던 기억이 있는데 다시 그 풀이를 보니까 주석이 없어서 왜 이런 식으로 되는지 이해를 못 했다. 과거의 내가 더 똑똑한 걸까? 대체 어떻게 한 거지? 계속 봐도 기억이 안 나서 그냥 아예 새로운 방식으로 다시 풀었다.
이번에는 근의 공식을 이용해서 풀었다. 갈색 카펫과 노란색 카펫의 각각의 가로, 세로를 Bx, By, Yx, Yy 라고 한다면 아래와 같은 관계식이 성립하게 된다. 카펫의 개수는 각각 B, Y로 지정했다.
1. Bx * By = B + Y
2. Bx = Yx + 2, By = Yy + 2 --> Bx * By = (Yx + 2) * (Yy + 2) = YxYy + 2(Yx + Yy) + 4
3. Y = Yx * Yy
위의 식을 정리해보면 Bx * By = B + Y = B + (Yx * Yy) = 2(Yx + Yy) + 4가 되므로, Yx + Yy = (B-4) // 2이다.
Yy = (B-4) // 2 - Yx 식을 Y = Yx * Yy에 넣으면 Y = Yx * ( (B-4)//2 - Yx)가 되고 Yx에 대해 정리해 주면,
Yx^2 - ((B-4) // 2)Yx + Y = 0 이 되므로 근의 공식을 써서 풀 수 있다.
## 근의 공식으로 풀이
def solution(brown, yellow):
a = 1
b = -(brown-4)//2
c = yellow
Yx = (-b+(b**2-4*a*c)**(1/2)) // 2 # 근의 공식
Yy = yellow // Yx # 가로 알면 세로도 알 수 있음
return [Yx+2, Yy+2]
## 예전 풀이
def solution(brown, yellow):
brown = (brown - 4) // 2
yellow_list = [i for i in range(1, brown) if i * (brown - i) == yellow]
return [max(yellow_list) + 2, min(yellow_list) + 2]
'스파르타코딩클럽 > 활동 내용' 카테고리의 다른 글
[스파르타] 99클럽 2기 코테스터디 11일차 TIL / 타겟 넘버 (0) | 2024.05.30 |
---|---|
[스파르타] 99클럽 2기 코테스터디 10일차 TIL / 소수 찾기 (0) | 2024.05.29 |
[스파르타] 99클럽 2기 코테스터디 8일차 TIL / H-Index (0) | 2024.05.27 |
[스파르타] 99클럽 2기 코테스터디 7일차 TIL / 가장 큰 수 (0) | 2024.05.26 |
[스파르타] 99클럽 2기 코테스터디 6일차 TIL / leet 2336 (0) | 2024.05.25 |
Comments