본문 바로가기

알고리즘92

[Java] 프로그래머스 > 자연수 뒤집어 배열로 만들기 https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴 제한 조건 n은 10,000,000,000 이하인 자연수입니다. 내 풀이 class Solution { public int[] solution(long n) { int[] answer = {}; String s.. 2022. 1. 27.
[Java] 프로그래머스 > 제일 작은 수 제거하기 https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 문제 설명 정수를 저장한 배열, arr에서 가장 작은 수를 제거한 배열을 리턴하는 함수 단, 리턴하는 배열이 빈 배열일 경우 배열에 -1을 채워 리턴 제한조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr [i] ≠ arr [j]입니다. 내 풀이 import java.util.*.. 2022. 1. 27.
[Java] 프로그래머스 > 같은 숫자는 싫어 https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 문제 설명 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 모두 제거 연속된 숫자들 제거 후 반환될 때 arr의 원소 순서 유지 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수 내 풀이 import java.util.*; public c.. 2022. 1. 27.
[Java] 프로그래머스 > 약수의 합 https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr 반복문을 n/2까지만 반복하고 answer값에 n을 더해 리턴해준다. class Solution { public int solution(int n) { int answer = 0; for(int i=1;i 2022. 1. 20.
[Java] 프로그래머스 > 나누어 떨어지는 숫자 배열 https://programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr Arraylist를 만들어서 반복문을 통해 나누어 떨어지는 수를 추가하고 정렬해서 배열 크기 지정후 하나씩 대입하도록 일차원적인 생각으로 풀었다. 내 풀이 import java.util.*; class Solution { public int[] solution(int[] arr, int divi.. 2022. 1. 16.
[Java] 프로그래머스 > 최대공약수와 최소공배수 https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 최대공약수 -> 유클리드 호제법 이용 최소공배수 -> n*m/최대공약수 유클리드 호제법 유클리드 로제법이란 2개의 자연수의 최대공약수를 구하는 알고리즘이다. 자연수 a,b(a>b)에 대하여 a를 b로 나눈 나머지가 r일때 a,b의 최대공약수와 b,r의 최대공약수가 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다.. 2022. 1. 16.