본문 바로가기

Algorithm

(38)
TIL 240923 - 알고리즘 6회차 약수의 개수와 덧셈문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ left ≤ right ≤ 1,000 나의 풀이class Solution { public int solution(int left, int right) { int answer = 0; int count = 0; for (int i=left;i 나는 반복문을 통해서 나누어 떨어졌을 때 약수이다 라는 로직을 사용해서 풀었다. 다른사람의 풀이중에, 어떤 숫자가 제곱수이면(1,4,9,16 등등) 이 수의 약수의 개수는 ..
TIL 240922 - 알고리즘 5회차 수박수박수박수박수?문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다.나의 풀이import java.util.stream.Stream;import java.util.stream.Collectors;class Solution { public String solution(int n) { String answer = Stream.generate(()->"수박") .limit((n+1)/2) .collect(Collectors.joining()..
TIL 240920 - 알고리즘 4회차 제일 작은 수 제거하기문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.나의 코드 import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Arrays;class Solution { public int[] soluti..
TIL 240919 - 알고리즘 3회차 음양 더하기문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 나의 코드 class Solution { public int solution(int[] absolutes, boolean[..
TIL 240918 -알고리즘 2회차 알고리즘 연습!두 정수 사이의 합문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다.입출력 예abreturn35123335312저의 코드는 Math의 abs()메서드를 사용해서 길이를 구해서 진행했습니다.import java.lang.Math;class Solution { public long solution(int a, int b) { ..
TIL 240913 - 알고리즘 1회차 매일 하고있는 프로그래머스 알고리즘 공부 난 코딩 초보이기 때문에, 아직은 쉬운 알고리즘만 공부하고 있다. 오늘 풀었던 2문제 작성하려고 한다. 정수 내림차순으로 배치하기  문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건n은 1이상 8000000000 이하인 자연수입니다.  입출력 예 n return118372 873211첫번째 시도class Solution { public long solution(long n) { long answer = 0; String str =""+n; int[] Arra..