๋ฐ์ํ
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 |
Tags
- ๋ฐฑ์ค
- ์ธํผ
- sort
- SSAFY
- javascript
- SWEA
- kakao
- ์๊ณ ๋ฆฌ์ฆ
- ๊ทธ๋ํ
- ํํ
- ํ์ด์ฌ
- DFS
- boj
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฝ๋ฉํ ์คํธ
- ์ฝํ
- algorithm
- DP
- Blind
- Python
- ์นด์นด์ค
- ์คํ
- ์ผ์ฑ
- SW์ญ๋ํ ์คํธ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์๋ฃ๊ตฌ์กฐ
- Backjoon
- BFS
- ์์ ํ์
Archives
- Today
- Total
๋ง์ํ
[python] ํ๋ก๊ทธ๋๋จธ์ค - ๊ต์ ์ ๋ณ ๋ง๋ค๊ธฐ(์ํด๋ฆฌ ์ฑ๋ฆฐ์ง) ๋ณธ๋ฌธ
Algorithm Problem/Python
[python] ํ๋ก๊ทธ๋๋จธ์ค - ๊ต์ ์ ๋ณ ๋ง๋ค๊ธฐ(์ํด๋ฆฌ ์ฑ๋ฆฐ์ง)
deo2kim 2022. 2. 8. 22:46๋ฐ์ํ

๐ค๋ฌธ์ ํด๊ฒฐ
๐จ ๊ต์ ๊ตฌํ๊ธฐ -> ๋ฌธ์ ์์ ์ฃผ์ด์ง ๊ณต์์ผ๋ก ๋ชจ๋ ๊ต์ ์ ๊ตฌํ๋ค.
๐จ ๋ฐฐ์ด ํฌ๊ธฐ ์ ํ๊ธฐ -> x, y ์ ์ต๋ ์ต์๊ฐ์ผ๋ก
๐จ ๋ฐฐ์ด ๋ง๋ค๊ธฐ -> ๋ฐฐ์ด์ ๋ง๋ ๋ค.
๐จ ๋ณ ์ฐ๊ธฐ -> ์ ์ขํ๊ฐ (y_max - y, x - x_min) ์ธ์ง ํท๊ฐ๋ฆด ์ ์๋ค. ์ํ ์ขํ๋ ๋ฐฐ์ด๋ก ๋ํ๋ด๋ ์ขํ์ 0์ ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์ ํ๊ฒ ๋ฐ๊ฟ์ค์ผํ๋ค.
๐ป์์ค ์ฝ๋
def solution(line):
dot_list = []
for i in range(len(line)):
A, B, E = line[i]
for j in range(i + 1, len(line)):
C, D, F = line[j]
bunja = A * D - B * C
if int(bunja) == 0:
continue
x = (B * F - E * D) / bunja
y = (E * C - A * F) / bunja
# ์ ์์ธ์ง ์์์ธ์ง
if x - int(x) == 0 and y - int(y) == 0:
x, y = int(x), int(y)
dot_list.append([x, y])
# ๋ฐฐ์ด ํฌ๊ธฐ ์ ํ๊ธฐ
x_dot_list = [dot[0] for dot in dot_list]
y_dot_list = [dot[1] for dot in dot_list]
x_min, x_max = min(x_dot_list), max(x_dot_list)
y_min, y_max = min(y_dot_list), max(y_dot_list)
# ๋ฐฐ์ด ๋ง๋ค๊ธฐ
arr = [['.' for _ in range(x_max - x_min + 1)] for _ in range(y_max - y_min + 1)]
# ๋ณ ์ฐ๊ธฐ
for dot in dot_list:
x, y = dot
arr[y_max - y][x - x_min] = '*'
return [''.join(a) for a in arr]
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: ํ๋ก๊ทธ๋๋จธ์ค
๋งํฌ: ๊ต์ ์ ๋ณ ๋ง๋ค๊ธฐ
๋ฐ์ํ
