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
- 파이썬무료강의
- GIT
- jquery
- 프로그래머스입문
- 반응형
- sql
- 네이버커넥트재단
- 스파르타
- 파이썬
- error
- useState
- React
- 스파르타코딩클럽
- python
- SEF2022
- 프로그래머스
- css
- 장고 다중이미지
- MongoDB
- 코딩기초트레이닝
- ㅐㄱ이
- 개인정보수집유효기간
- django multi image
- 20492번
- 참가후기
- 22938번
- 무료강의
- html
- 프론트엔드
- 장고이미지처리
Archives
- Today
- Total
코딩,해볼까
07.22 - 23. 프로그래머스 : 직사각형 넓이 구하기, 연속된 수의 합 본문
< 직사각형 넓이 구하기 >
1. 나의 풀이
직사각형의 넓이 = 가로 * 세로
주어지는 2차원 배열에서 dots[*][ ] *가 같다면 세로, dots[ ][*] *가 같다면 가로를 뜻한다.
(세로는 같은 x좌표 선상이지만 y좌표가 다를 것이며, 가로는 같은 y좌표 선상에서 x 좌표가 다르다.)
def solution(dots):
width = 0
height = 0
for i in dots:
if dots[0][0] == i[0]:
height += abs(dots[0][1]-i[1])
if dots[0][1] == i[1]:
width += abs(dots[1][0]-i[0])
return width*height
2. 다른사람의 풀이
꺼내고자 하는 값 dot[세로][가로] 위치와 숫자가 모두 같다.
이를 활용하여 max, min 함수로 큰 수 - 작은 수 = 선분의 길이
def solution(dots):
return (max(dots)[0] - min(dots)[0])*(max(dots)[1] - min(dots)[1])
3. 배운 것
abs = absolute value = 절대값 (무조건 결과의 양수값만을 리턴한다)
< 연속된 수의 합 >
1. 나의 풀이
def solution(num, total):
answer = []
standard = total//num
stap = num//2
for i in range(1, stap+1):
answer.append(standard-i)
answer.append(standard+i)
answer.append(standard)
answer.sort()
if num % 2 == 0:
answer.remove(answer[0])
return answer
2. 풀이과정
def solution(num, total):
answer = []
# 12 / 3 = 4
# 4 4 4
# 3 4 5
# print(12/3, 14/4)
# result가 '홀수'개 일 때
if total%num == 0:
# 기준값 = total//num
standard = total//num
# 기준값의 연속되는 숫자를 만들어서 answer다가 하나씩 append 해준다.
stap = num//2 # 양 쪽에 몇 개의 수가 들어갈지 계산한 것
# 왼쪽의 수 구하기
# answer = [ ...standard -stap, standard -2, standard -1, standard]
for i in range(1, stap+1):
answer.append(standard-i)
answer.append(standard+i)
answer.append(standard)
else:
standard = total//num
stap = num//2
print(standard, stap)
for i in range(1, stap):
answer.append(standard-i)
for i in range(1, stap+1):
answer.append(standard+i)
answer.append(standard)
# 기준 값
# 오른쪽의 수 구하기
# 기준 왼쪽 수 apppend
# 기준 값 append
# 기준 오른쪽 수 apppend
# answer = num//2
# answer = [ num-2, num -1, num, num+1, num+2 ]
'Back > TIL' 카테고리의 다른 글
07.25. 프로그래머스 : 로그인 성공?, n의 배수 고르기, 2차원으로 만들기 (0) | 2023.07.26 |
---|---|
07.24. 프로그래머스 : 이진수 더하기 (0) | 2023.07.24 |
07.21. 프로그래머스 : 숫자 찾기, 문자열 정렬하기(2), 머쓱이보다 키 큰 사람 (1) | 2023.07.21 |
07.20. 프로그래머스 : 대문자와 소문자, 인덱스 바꾸기, 배열의 유사도 (0) | 2023.07.21 |
07.19. 프로그래머스 : 점의 위치 구하기, 최댓값 만들기(1), 문자열 정렬하기(1), 중복된 문자 제거 (0) | 2023.07.19 |
Comments