본문 바로가기
반응형

알고리즘11

[프로그래머스][Python] 두 개 뽑아서 더하기 으아아아 내일 코딩테스트..... 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] def solution(numbers): result=[] for i in range(len(numbers)-1): for j in range(len(numbers)): if i != j: result.appe.. 2021. 2. 21.
[프로그래머스][Python] 나누어 떨어지는 숫자 배열 내일 코딩테스트를 봐야해서 부랴부랴 전날에 하루종일 알고리즘을 풀어보았다... 다 까먹었었는데 간간히 기억이났다.... 오또케하지... 아무튼 문제를 보자 문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] .. 2021. 2. 21.
[백준] 2908번 java 상수 문제를 보도록 하자. www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 상수는 수학을 못한다. 만약 숫자를 123 456 이렇게 두 개를 입력받으면, 상수는 321과 654로 인식해 더큰값을 출력하는 것이다. 증말 이상한 친구다. 아무튼 숫자를 입력받아 StringBuffer를 사용해 reverse로 문자열로 뒤집은뒤 다시 int형으로 바꾸어 비교해서 출력하면 될것같다. 풀이방법을 보자 import java.util.*; public class Main { public s.. 2020. 12. 8.
크러스컬 알고리즘의 구현 및 실험 문제) 다음의 가중치가 주어진 도로망을 이용하여 실습에 주어진 코드로 최소 신장(생성) 트리를 출력하여라. 먼저 주어진 코드에 맞는 그래프 데이터 파일 "cities.dat" 파일을 만들고 이것을 이용하여 실제 신장트리를 출력할 때 도시명이 출력되도록 하여라. C언어로 코드를 구현해보면 이렇게 작성할 수 있다. #include #include #include #define INF 10000 void set_init(int n); int set_find(int v); char *clitiename[10]= {"서울","원주","강를","천안","논산","대전","광주","부산","대구","포항"}; void set_union(int s1, int s2); typedef struct { int u, v; /.. 2020. 10. 13.
퀵정렬 개선하기 입력의 크기가 작을때는 퀵정렬과 삽입정렬의 속도차가 크지 않다. 퀵정렬을 재귀적으로 수행해 나갈 때 크기가 25 보다 작을 때는 더 이상 분할을 중단하고 삽입정렬을 사용하는 코드를 작성하라. #include #include #include double toc (double tstart); #define DTYPE double #define SWAP(aa,bb) { DTYPE tmp; tmp=aa; aa=bb; bb=tmp;} DTYPE *mk_rand_data(int N); void quicksort(DTYPE A[], int left, int right); void insertionsort(DTYPE A[],int left, int N); int partition(DTYPE A[], int left, .. 2020. 10. 13.
백준 java) 10989번 문제 수 정렬하기 3 문제를 같이볼까요? www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제는 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.가 되겠습니다. 이 문제에서는 런타임오류를 어떻게 해결해야하는지 관건이겠네요. 저는 자바로 구현했습니다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWr.. 2020. 9. 22.
JAVA) 문자열뒤집기 +LinkedList사용 String s를 생성하여 LinkedList를 통해 문자열을 뒤집어보았습니다. scanner로 받아서 사용할수도있습니다. import java.util.*; public class StringReverse { public static void main( String[] args ) { String s = "abcdedf"; LinkedList stack = new LinkedList(); for(int i=0; i 2020. 7. 18.
JAVA)백준 1016번 제곱 ㄴㄴ수 이 문제는 시간복잡도를 얼마나 효율적으로 풀수있는가를 보는 것이 관건이다. 직관적으로 풀면 import java.util.Scanner; public class Main { public static void main(String[] arg) { long min, max; long k; int count=0; Scanner input = new Scanner(System.in); min = input.nextInt(); max = input.nextInt(); for(long i=min;i 2020. 7. 18.
C) 이진탐색(binary search) 구현하기 저번 시간에 헀던 순차탐색과 비슷하지만 구조가 조금 다르다. 이번에는 재귀를 사용하여 이진탐색을 구현해보았다. #include #include #include #define COMPARE(A,B) ((A)>(B))?(1):(((A) 2020. 7. 18.
반응형