본문 바로가기

분류 전체보기64

[Algorithm] Algorithm 특성 이전글: 2023.07.20 - [기초탄탄/Algorithm] - [Algorithm] Algorithm 소개 Clear and Unambiguous: 알고리즘은 명확하고 모호하지 않아야 합니다. 각 단계는 모든 측면에서 명확해야 하며 단 하나의 의미로 이어져야 합니다. Well-Defined Inputs: 알고리즘이 입력을 받도록 지시하는 경우 잘 정의된 입력이어야 합니다. 입력을 받을 수도 있고 받지 않을 수도 있습니다. Well-Defined Outputs: 알고리즘은 산출할 출력을 명확하게 정의해야 하며 잘 정의되어야 합니다. 최소 1개의 출력을 생성해야 합니다. Finite-ness: 알고리즘은 유한해야 합니다. 즉, 유한한 시간 후에 종료되어야 합니다. Feasible: 알고리즘은 사용 가능한.. 2023. 7. 20.
[프로그래머스/programmers] 팩토리얼 문제: i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요. i! ≤ n 입력: 정수 n 출력: i! ≤ n 에 만족하는 가장 큰 정수 제한사항: 0 2023. 7. 19.
[프로그래머스/programmers] 최댓값 만들기(1) 문제: 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요. 입력: 정수 배열 numbers 출력: numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값 제한사항: 0 ≤ numbers의 원소 ≤ 10,000 2 ≤ numbers의 길이 ≤ 100 numbers result [1, 2, 3, 4, 5] 20 [0, 31, 24, 10, 1, 9] 744 solution.py: def solution(numbers): numbers.sort(reverse=True) return numbers[0]*numbers[1] 풀이설명: 배열 안에 들어있는 가장 큰 원소 두 개를 곱하면 최댓값이 .. 2023. 7. 17.
[프로그래머스/programmers] 합성수 찾기 문제: 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요. 입력: 자연수 n 출력: n이하의 합성수의 개수 제한사항: 1 ≤ n ≤ 100 n result 10 5 15 8 solution.py: def solution(n): answer = 0 for i in range(n+1): cnt = 0 for j in range(1, i+1): if i%j == 0: cnt += 1 if cnt >= 3: answer += 1 return answer 풀이설명: 합성수는 약수의 개수가 3개 이상인 수를 말한다. 첫 번째 for 문에서 n 이하의 수를 찾아야 하므로 n+1 두 번째 for 문에서 .. 2023. 7. 17.
728x90