일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 직각 삼각형
- Unity
- Java
- 연속된 숫자의 합
- javascript
- 논리 연산
- 백준 9506번
- C++
- 피라미드 출력
- 백준 2501번
- 잡다한 일
- 백준 5597번
- 백준 #11382번 #
- 백준 2587번
- 차이
- 알고리즘
- 대칭 차집합
- 백준 27433번
- 백준 25305번
- 백준 1269번
- html
- 일상생활 영어표현
- 백준 2525번
- 해석
- 배열
- 백준 1157번
- 상세 풀이
- 백준 5086번
- 5073번
- C
- Today
- Total
목록분류 전체보기 (77)
YunDev
어떤 정수 이하의 소수를 모두 나열하는 알고리즘입니다. 소수의 정의부터 살펴보자면 자신, 1외의 정수로 나누어 떨어지지 않는 정수입니다.public class PrimeNumber { public static void main(String[] args) { int counter = 0; //나눗셈 횟수 측정 for(int n = 2; n 이러한 방식으로 어떤 정수 n이 있을 때 정수 범위 -1까지 나눗셈을 진행하여 소수인지 아닌지 판단해볼 수 있습니다. 여기서 소수를 구하는 알고리즘을 개선해볼 수 있는데 소수를 어떤 방법으로 구할 수 있는지, 더 적은 계산 횟수로 소수를 구할 수 있는 방법이 있는지 살펴보겠습니다. 1.n이 2 또는 3으로 나누어 떨어지지 않으면 2의 배수 ..
정숫값을 임의의 기수로 변환하는 알고리즘입니다. 10진수 정수를 n진수 정수로 변환하려면 정수를 n으로 나눈 나머지를 구하는 동시에 나눈 몫에 대해 0이 될 때 까지 반복해야합니다. 이 과정으로 구한 나머지를 거꾸로 늘어놓은 숫자가 기수로 변환한 숫자입니다. package org.example;import java.util.Scanner;public class RadixConversion { static int conversion(int x, int r, char[] d) { int digit = 0; String dchar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; do{ d[digit++] = dchar...
배열은 같은 자료형의 변수로 이루어진 구성 요소가 모인 것입니다. 배열 구성 요소의 자료형은 int, double 어떤 형이든 상관없이 각각의 배열의 원소는 같은 자료형입니다.int[] array = new int[5];이러한 방식으로 배열 변수 선언과 참조할 본체 선언을 같이 할 수 있습니다. 배열의 구성 요소는 자동으로 0으로 초기화됩니다.int[] a = new int[] {1, 2, 3, 4, 5};만약 초깃값을 주고 싶은 경우 요솟수를 제외하고 {} 사이의 값을 넣어줄 수도 있습니다.int[] a = new int[] {1, 2, 3, 4, 5};int[] b = a.clone();이 수식은 배열을 복제하고 복제한 배열에 대한 참조를 생성합니다. b 배열의 원소는 a의 복제이기 때문에 전부 같지..
반복문이 수행될 때 그 안에서 다시 반복되는 구조를 알아보고자 합니다. (이중 루프) for(int i = 1; i 이중 for문으로 1~9단까지의 곱셈표를 출력하는 간단한 코드입니다.그리고 이러한 이중 루프를 응용하여 도형을 출력 할 수도 있습니다.왼쪽 아래가 직각인 삼각형 메서드 static void triangleLB(int N) { //왼쪽 아래가 직각인 삼각형 for(int i = 1; i static void triangleLU(int N) { //왼쪽 위가 직각인 삼각형 for(int i = N; i >= 1; i--){ for(int j = i; j>=1; j--) { System.out.print("*"); ..
하나의 입구, 하나의 출구를 가진 구성 요소만을 계층적으로 배치하여 프로그램을 구성하는 방법을 구조적 프로그래밍이라고 합니다. 구조적 프로그래밍은 순차, 선택, 반복이라는 3종류의 제어 흐름을 사용합니다. 알아보고자 하는 프로그램은 두 자리의 숫자만 입력받을 수 있게 제한하는 코드입니다.import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); while(num 99) { System.out.println("Enter a number betw..
컴퓨터는 프로그램의 명령에 따라 순서대로 일을 처리하고, 이 때 효율적인 결과를 얻기 위해 필요한 것이 알고리즘이다.그리고 자료구조는 정보를 효율적으로 저장하고 관리하는 방법으로서 효율적인 자료구조의 선택이 곧 효율적인 알고리즘이다. 이처럼 알고리즘과 자료구조는 상호 보완 관계에 있다.오늘부터 자료구조, 알고리즘을 함께 배우며 기록해보려고 한다. 반복문을 사용한 간단한 알고리즘부터 살펴보겠습니다.import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("1부터 n까지의 합"); ..
https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net #include int T; int gcd(int a, int b) { if(b == 0) return a; return gcd(b, a % b); } int main() { int x, y; scanf("%d", &T); for(int i = 0; i < T; i++) { scanf("%d %d", &x, &y); printf("%d\n", x * y / gcd(x, y));..
https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net #include #include int compare(const void *a, const void *b) { return (*(int*)a - *(int*)b); } int main() { int A, B, cnt = 0, sum = 0; scanf("%d %d", &A, &B); int *setA = (int*)malloc(sizeof(int) * A); int *setB = (int*)..
https://www.acmicpc.net/problem/5073 5073번: 삼각형과 세 변 각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오. www.acmicpc.net #include int main() { int n1, n2, n3; while(1) { scanf("%d %d %d", &n1, &n2, &n3); if(n1 == 0 && n2 == 0 && n3 == 0) { break; } if(n1 == n2 && n2 == n3) { printf("Equilateral\n"); } else if(n1 >= n2+n3 || n2 >= n1+n3 || n3 >= n1+n2) { printf("Invalid\n"); } else if..
https://www.acmicpc.net/problem/9506 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net #include int main() { int n = 0, sum = 0; while(1) { scanf("%d", &n); sum = 0; if(n == -1) { break; } //자기 자신을 제외한 약수의 합을 더함 for(int i = 1; i < n; i++) { if(n % i == 0) { sum+=i; } } //n이 완전수일 경우 약수를 출력함 if(sum == n) { ..
https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net #include int main() { int n1, n2; while(1) { scanf("%d %d", &n1, &n2); if(n1 == 0 && n2 == 0) { break; } if(n2 % n1 == 0) { printf("factor\n"); } else if(n1 % n2 == 0) { printf("multiple\n"); } else { printf("neither\n"); } } return 0; } 첫 번째 숫자가 ..
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 1. #include int main() { int N, cnt = 0; int arr[100] = {0,}; int check[1000] = {0, }; scanf("%d", &N); for(int i = 0; i < N; i++) { scanf("%d", &arr[i]); } //에라토스테네스의 체 알고리즘 for(int i = 2; i < 1000; i++) { if(check[i] == 0) { for(int j = i*i; j < 1000; j+=i) { ..