티스토리 뷰

알고리즘/백준

[BAEJOON] 1037 약수

응애~ 개발자 2022. 9. 6. 11:29
728x90
반응형

뱍준 문제

문제 요약

  • 알고리즘 분류: 정수론,  수학
  • 난이도: Bronz1
  • 문제내용:
    • 첫째 줄 N과 N의 개수 만큼 약수가 있다.
  • 사이트 주소: https://www.acmicpc.net/problem/5086
 

5086번: 배수와 약수

각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.

www.acmicpc.net

 

문제 풀이

  1.  최소 공배수로 접근 하면 안된다.  → why? 최소 공배수는 밑의 수를 다 포함한 약수인데 2, 3,  5의 최소 공배수가 30인데. 30의 약수로는 2, 3, 5, 10, 15가 와야 하기 때문에 말이 안된다.
  2. 배열 또는 리스트로 선언한 다음 배열안의 최소 최대 곱하면 된다.

CODE

JAVA

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		
		int n = Integer.parseInt(br.readLine());
	    
		int[] nums = new int[n];
		
		StringTokenizer st = new StringTokenizer(br.readLine());
		for(int i = 0; i < n; i++) {
			nums[i] = Integer.parseInt(st.nextToken());
		}
		
		int max_num = Arrays.stream(nums).max().getAsInt();
		int min_num = Arrays.stream(nums).min().getAsInt();
		
		System.out.println(max_num * min_num);
	}	    
}

PYTHON

n = int(input())
nums = list(map(int, input().split()))
print(max(nums) * min(nums))
728x90
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[BAEJOON] 2743 단어 길이 재기  (0) 2022.09.19
[BAEKJOON] 25501 재귀의 귀재  (2) 2022.09.10
[BAEJOON] 5058 배수와 약수  (0) 2022.09.06
[BAEJOON] 1358 하키  (0) 2022.08.26
[BAEJOON] 1004 어린 왕자  (0) 2022.08.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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
글 보관함