일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- node.js
- 코딩테스트
- 회원가입
- PINTOS
- onChange
- python
- malloc-lab
- sw 정글
- JavaScrpit
- SW정글
- Coding Test
- 백준
- Express
- 사용자 정의 객체
- dfsbfs
- conding test
- HTML
- 템플릿 문자열
- 자바스크립트 문자열 변수
- javascript
- 자바스크립트
- 회원가입 폼
- sw정글사관학교
- React
- Spring
- 리액트
- 목록 창 만들기
- 프로그래머스
- 정글sw
- html input
Archives
- Today
- Total
코드치고 무게치고
[백준 python] 1037번 약수 본문
[백준 python] 1037번 약수
레벨: 실버5
언어: python
📑풀이 과정
문제를 보면 N의 약수가 주어진다.
주어지는 약수(A)는 진짜약수라고 해서 A != 1, A !=N
이다
이걸 보면 주어지는 N은 소수가 아니다.
그리고 N의 모든 약수가 주어진다고 했을때
약수의 개수가 1개이면 N은 주어진 약수의 제곱이다. A^2
약수가 1개 이상이면 들어온 약수를 정렬하여 가장 작은 수와 가장 큰수를 곱하면 N을 구할 수 있다.
3 4 2 12 6 8 가 주어질 때
[2, 3, 4, 6, 8, 12] 로 정렬된 배열을 만들고
배열의 처음과 끝 값을 곱하면 N을 구할 수 있다.
📋풀이 코드
import sys
input = sys.stdin.readline
T = int(input())
arr = list(map(int, input().split()))
arr.sort()
if T >1:
print(arr[0]*arr[-1])
else:
print(arr[0]**2)
'개발공부 > 코딩테스트 준비' 카테고리의 다른 글
[백준 python] 1448번 삼각형 만들기 (삼각형의 조건) - 그리디 (0) | 2022.03.03 |
---|---|
[백준 python] 15904번 UCPC는 무엇의 약자일까? - 그리디 (0) | 2022.03.03 |
[백준 python] 9658번 돌 게임 4 - 동적프로그래밍(DP) (0) | 2022.03.01 |
[백준 python] 2225번 합분해 - 동적프로그래밍(DP) (0) | 2022.02.27 |
[백준 python] 2579번 계단 오르기 - 동적프로그래밍(DP) (0) | 2022.02.27 |
Comments