[프로그래머스] 약수의 합
·
여러가지/알고리즘 & 자료구조
문제 설명정수 n이 주어졌을 때, n의 모든 약수를 더한 값을 반환하는 함수를 작성하는 문제입니다. 예를 들어, n = 12라면 약수는 1, 2, 3, 4, 6, 12이고, 이들의 합은 28입니다.제한 사항n은 0 이상 3000 이하인 정수입니다.입출력 예nreturn122856입출력 예 #1: 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.입출력 예 #2: 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.문제 풀이이 문제는 주어진 n의 약수를 구하고, 그 합을 반환하는 문제입니다. 앞서 설명한 것처럼, 약수는 대칭적으로 존재하기 때문에 모든 약수를 구하기 위해서는 1부터 √n까지만 확인하면 됩니다. 다만, n이 0일 경우 약수가 없기 때문에, 0에 대해서는 특..
[프로그래머스] 자릿수 더하기
·
여러가지/알고리즘 & 자료구조
문제 설명자연수 N이 주어졌을 때, N의 각 자릿수의 합을 구하는 문제입니다. 예를 들어 N = 123이라면, 1 + 2 + 3 = 6을 반환해야 합니다.제한 사항 N의 범위는 100,000,000 이하의 자연수입니다.입출력 예Nanswer123698724문제 풀이 이 문제는 주어진 자연수 N의 각 자릿수를 구해서 더하는 작업이 필요합니다. 이를 해결하는 방법은 두 가지로 나눌 수 있습니다:수학적 접근: 숫자를 10으로 나눈 나머지를 구해 각 자릿수를 추출한 뒤, 이를 반복해서 더하는 방식.문자열 접근: 숫자를 문자열로 변환한 뒤 각 자릿수를 순회하며 더하는 방식.1. Java 코드 풀이class Solution { public int solution(int n) { int sum ..
[프로그래머스] 짝수와 홀수
·
여러가지/알고리즘 & 자료구조
문제 설명정수 num이 주어졌을 때, 해당 숫자가 짝수면 "Even"을 반환하고, 홀수면 "Odd"를 반환하는 함수를 작성하는 문제입니다. 입력값 num이 0일 경우에도 짝수로 간주해야 합니다.제한 사항 num은 int 범위의 정수입니다.0은 짝수로 간주합니다.입출력 예 numreturn3"Odd"4"Even"문제 풀이이 문제는 숫자가 짝수인지 홀수인지 판별하는 간단한 조건문을 사용하여 해결할 수 있습니다.짝수는 2로 나눈 나머지가 0인 숫자를 의미합니다. 즉, num % 2 == 0이면 짝수이고, 그렇지 않으면 홀수입니다. 1. Java 코드 풀이class Solution { public String solution(int num) { return (num % 2 == 0) ? ..
[프로그래머스] x만큼 간격이 있는 n개의 숫자
·
여러가지/알고리즘 & 자료구조
문제 설명정수 x와 자연수 n이 주어졌을 때, x부터 시작해 x씩 증가하는 숫자를 n개 반환하는 문제입니다. x는 양수, 음수, 또는 0일 수 있으며, 결과 리스트는 x의 배수로 채워져야 합니다.제한 사항x는 -10,000,000 이상, 10,000,000 이하인 정수입니다.n은 1 이상, 1,000 이하인 자연수입니다.입출력 예xn결과25[2, 4, 6, 8, 10]43[4, 8, 12]-42[-4, -8]문제 풀이1. Java 코드 풀이import java.util.Arrays;class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; // 결과를 담을 배열 for (int i..
[프로그래머스] 평균 구하기
·
여러가지/알고리즘 & 자료구조
평균 구하기 - 알고리즘 문제 풀이 (Java & Python)이번 글에서는 정수로 이루어진 배열 arr의 평균값을 구하는 문제를 풀어보겠습니다. Java와 Python으로 문제를 해결해보고, 각각의 풀이 방법에 대한 시간 및 공간 복잡도를 분석한 후, 다양한 Java 풀이 방법과 그에 대한 비교를 설명드리겠습니다.문제 설명정수를 담고 있는 배열 arr의 평균값을 반환하는 solution 함수를 구현하세요.제한사항arr은 길이 1 이상, 100 이하인 배열입니다.arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.입출력 예arr결과[1, 2, 3, 4]2.5[5, 5]5입출력 예 #1: [1, 2, 3, 4]의 평균값은 (1 + 2 + 3 + 4) / 4 = 2.5입니다.입출력 예 #2: ..
[프로그래머스] 나머지가 1이되는 수 찾기
·
여러가지/알고리즘 & 자료구조
문제 설명주어진 자연수 n을 어떤 자연수 x로 나눈 나머지가 1이 되는 가장 작은 자연수 x를 찾는 문제입니다.1. Java 코드 풀이class Solution { public int solution(int n) { for (int x = 2; x 설명:x = 2부터 시작해서 n-1까지 반복문을 돌며, n % x == 1이 되는 가장 작은 x를 찾습니다.첫 번째로 조건을 만족하는 x가 가장 작은 값이므로 즉시 반환합니다.2. Python 코드 풀이def solution(n): for x in range(2, n): if n % x == 1: return x# 테스트print(solution(10)) # 출력: 3print(solution(12)) ..
[프로그래머스] 뒤에서 5등까지
·
여러가지/알고리즘 & 자료구조
뒤에서 5등까지 - 알고리즘 문제 풀이 (Java & Python)이번 글에서는 정수로 이루어진 리스트 num_list에서 가장 작은 5개의 수를 오름차순으로 반환하는 문제를 풀어보겠습니다. Java와 Python으로 문제를 해결해보고, 각각의 풀이 방법에 대한 시간 및 공간 복잡도를 분석한 후, 다양한 Java 풀이 방법과 그에 대한 비교를 설명드리겠습니다.문제 설명정수로 이루어진 리스트 num_list가 주어집니다. 이 리스트에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 반환하는 solution 함수를 구현하세요.제한사항6 ≤ num_list의 길이 ≤ 301 ≤ num_list의 원소 ≤ 100입출력 예num_list결과[12, 4, 15, 46, 38, 1, 14][1, 4, 12, 14..
[프로그래머스] 원소들의 곱과 합
·
여러가지/알고리즘 & 자료구조
원소들의 곱과 합을 비교하는 알고리즘 문제 풀이 (Java & Python)이번 글에서는 정수 리스트 num_list가 주어졌을 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을, 크면 0을 반환하는 알고리즘 문제를 Java와 Python으로 풀어보겠습니다. 이 문제는 간단한 산술 연산과 조건문을 활용한 문제로, 배열의 원소들 간의 관계를 파악하는 좋은 연습이 될 것입니다. 자바와 파이썬의 코드 예시와 함께, 다양한 풀이 방법과 각 풀이 방법의 시간 및 공간 복잡도에 대해 설명해 보겠습니다.문제 설명정수 리스트 num_list가 주어졌을 때, 리스트의 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 반환하고, 그렇지 않으면 0을 반환하는 함수를 구현하세요.제한사항num_lis..