Difference between r1.11 and the current
@@ -1,363 +1,16 @@
[[TableOfContents]]
= 자바 =
== 1회차 ==
* [https://www.acmicpc.net/problem/2748 피보나치 수 2]
=== 이민욱 ===
{{{
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// write your code here
long[] FIBO = new long[100];
int i;
for(i=0;i<100;i++){
FIBO[i]=-1;
}
FIBO[0]=0;
FIBO[1]=1;
Scanner input = new Scanner(System.in);
int N = input.nextInt();
for(i=2;i<=N;i++){
if(FIBO[i]==-1){
FIBO[i]=FIBO[i-2]+FIBO[i-1];
}
}
System.out.printf("%d",FIBO[N]);
}
}
}}}
=== 정석우 ===
{{{
import java.util.Scanner;
public class Hello
{
public static void main(String[] args)
{
long arr[] = new long [100];
Scanner input = new Scanner(System.in);
int n = input.nextInt();
arr[0] = 0;
arr[1] = 1;
for(int i=2; i<=n; i++)
{
arr[i] = arr[i-2] + arr[i-1];
}
System.out.println(arr[n]);
}
}
}}}
= 자료구조 =
== 1회차 ==
=== 신원준 ===
==== 별찍기 - 7 ====
{{{
(여기에 코드를)
}}}
==== 행렬 곱셈 ====
{{{
(여기에 코드를)
}}}
==== 공약수 ====
{{{
(여기에 코드를)
}}}
==== 비슷한 단어 ====
{{{
(여기에 코드를)
}}}
=== 이민욱 ===
==== 별찍기 - 7 ====
{{{
(여기에 코드를)
}}}
==== 행렬 곱셈 ====
{{{
(여기에 코드를)
}}}
==== 공약수 ====
{{{
(여기에 코드를)
}}}
==== 비슷한 단어 ====
{{{
(여기에 코드를)
}}}
=== 정석우 ===
==== 별찍기 - 7 ====
{{{
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, i, j, k;
scanf(" %d", &n);
for (i = 0; i < n; i++)
{
for (j = 0; j < n - i - 1; j++)
{
printf(" ");
}
for (k = 0; k < 2*i+1; k++)
{
printf("*");
}
printf("\n");
}
for (i = n-1; i >0; i--)
{
for (j = 0; j < n-i; j++)
{
printf(" ");
}
for (k = 2*i-1 ; k > 0; k--)
{
printf("*");
}
printf("\n");
}
return 0;
}
}}}
==== 행렬 곱셈 ====
{{{
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, m, k, i, j, p, sum;
scanf(" %d %d", &n, &m);
int** matrixA, **matrixB, **matrixFinal;
matrixA = (int**)malloc(sizeof(int)*n);
for (i = 0; i < n; i++)
{
matrixA[i] = (int*)malloc(sizeof(int)*m);
}
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
scanf(" %d", &matrixA[i][j]);
}
}
scanf(" %d %d", &m, &k);
matrixB = (int**)malloc(sizeof(int)*m);
for (i = 0; i < m; i++)
{
matrixB[i] = (int*)malloc(sizeof(int)*k);
}
for (i = 0; i < m; i++)
{
for (j = 0; j < k; j++)
{
scanf(" %d", &matrixB[i][j]);
}
}
matrixFinal = (int**)malloc(sizeof(int)*n);
for (i = 0; i < n; i++)
{
matrixFinal[i] = (int*)malloc(sizeof(int)*k);
}
for (i = 0; i < n; i++)
{
for (j = 0; j < k; j++)
{
sum = 0;
for (p = 0; p < m; p++)
{
sum += matrixA[i][p] * matrixB[p][j];
}
matrixFinal[i][j] = sum;
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < k; j++)
{
printf("%d ", matrixFinal[i][j]);
}
printf("\n");
}
free(matrixA);
free(matrixB);
free(matrixFinal);
return 0;
}
}}}
==== 공약수 ====
{{{
#include <stdio.h>
long long euclidGCD(long long a, long long b)
{
if (a >= b)
{
if (a % b == 0)
return b;
else
return euclidGCD(b, a%b);
}
else
{
if (b % a == 0)
return a;
else
return euclidGCD(a, b%a);
}
}//유클리드 호제법, 최대 공약수 구하기
int main()
{
long long k, x, y, GCD, LCM;
long long t, i, j;
scanf("%lld %lld", &GCD, &LCM);
if (GCD == LCM)
{
printf("%lld %lld", GCD, LCM);
return 0;
}
t = GCD*LCM; // = GCD^2 * a * b
for (i = GCD; i<LCM; i += GCD)
{
j = t / i; //i는 GCD의 배수, j는 i<j될 때까지 마찬가지로 GCD의 배수(GCD * a * b /상수)
if (i > j)
{
break;
}
k = euclidGCD(i, j);
//k는 i, j의 최대공약수임을 확인하는 용도
if (k == GCD && i*j / k == LCM) //다시 값이 맞는지 체크
{
x = i;
y = j;
}
}
printf("%lld %lld", x, y);
return 0;
}
}}}
==== 비슷한 단어 ====
{{{
#include <stdio.h>
#include <string.h>
char str[100][10]; //문자열 길이 10, 최대 갯수 100개 배열
int str_cnt[100][26] = { 0, }; //각 알파벳에 대한 갯수를 저장하는 정수형 배열
int chk_composite_char(char* str, char target)
{
int length = strlen(str);
int i, cnt = 0;
for (i = 0; i < length; i++)
{
if (str[i] == target)
{
cnt++;
}
}
return cnt;
}//문자열에 해당 문자가 몇개인지를 리턴해주는 함수
int main()
{
int num_str, i, j, arr_str_cnt, answer_cnt = 0, error_cnt; //num_str은 문자열 갯수
int buf_pivot_address[2], buf_target_address[2]; //error_cnt에 해당하는 두 배열 주소가 같은지 확인하기 위한 배열
scanf(" %d", &num_str);
for (i = 0; i < num_str; i++)
{
scanf(" %s", &str[i]);
}
for (i = 0; i < num_str; i++)
{
for (j = 65; j <= 90; j++)
{
str_cnt[i][j-65] = chk_composite_char(str[i], (char)j);
}
}
/*
for (i = 0; i < 26; i++)
{
printf("%c ", (char)(i + 65));
}
printf("\n");
for (i = 0; i < num_str; i++)
{
for (j = 0; j < 26; j++)
{
printf("%d ", str_cnt[i][j]);
}
printf("\n");
}*/
for (i = 1; i < num_str; i++)
{
arr_str_cnt = 0;
error_cnt = 0;
for (j = 0; j < 26; j++)
{
if (str_cnt[0][j] == str_cnt[i][j]) //같은 구성 가질떄
{
arr_str_cnt++;
}
if (-1 == (str_cnt[0][j] - str_cnt[i][j]) || (str_cnt[0][j] - str_cnt[i][j]) == 1) //알파벳 하나의 개수만 다를 떄
{
if (error_cnt == 0)
{
buf_pivot_address[0] = str_cnt[0][j];
buf_target_address[0] = str_cnt[i][j];
}
else if (error_cnt == 1)
{
buf_pivot_address[1] = str_cnt[0][j];
buf_target_address[1] = str_cnt[i][j];
}
error_cnt++;
}
}
if (arr_str_cnt == 26) //같은 구성일 때
{
answer_cnt++;
}
if (error_cnt == 1 && arr_str_cnt == 25) //빼고, 더해서 가능할 때
{
answer_cnt++;
}
if ((error_cnt == 2 && arr_str_cnt == 24) && (buf_pivot_address[0] == buf_target_address[1] && buf_pivot_address[1] == buf_target_address[0])) //바꿔서 가능할 때
{
answer_cnt++;
}
}
printf("%d", answer_cnt);
return 0;
}
}}}
백준에서는 못 맞춘 문제인게 함정.. 답을 모르겠슴다
= 자바 =
* [/자바/1회차|1회차 과제 제출]
* [/자바/2회차|2회차 과제 제출]
* [/자바/3회차|3회차 과제 제출]
* [/자바/4회차|4회차 과제 제출]
= 자료구조 =
* [https://www.acmicpc.net/problem/2444 별찍기 - 7]
* [https://www.acmicpc.net/problem/2740 행렬 곱셈]
* [https://www.acmicpc.net/problem/2436 공약수]
* [https://www.acmicpc.net/problem/2607 비슷한 단어]
* [/자료구조/1회차|1회차 과제 제출]
* [/자료구조/2회차|2회차 과제 제출]
* [/자료구조/3회차|3회차 과제 제출]
* [/자료구조/4회차|4회차 과제 제출]
* [/자료구조/5회차|5회차 과제 제출]
* [/자료구조/6회차|6회차 과제 제출]
* [/자료구조/7회차|7회차 과제 제출]