top of page

게시판 게시물

johnpark0901
2024년 2월 25일
In 소스 코드 제출
initializeTurtle() step = 128 range = 45 forward(step) def drawLines(step, range, flag): if step < 16: return left(range + flag) #원래 + forward(step) drawLines(step/2, range, flag + range) #원래+ backward(step) right(range*2 + flag) #원래+ forward(step) drawLines(step/2, range, flag - range) #원래 - backward(step) left(range) drawLines(step/2, range, 0) #원래 flag 0 backward(step)
0
0
2
johnpark0901
2024년 2월 12일
In 소스 코드 제출
#1274n = int(input())#result = []#for i in range(1,n+1):# if n%i == 0:# result. append(i)#if len(result) == 2:# print("prime")#else:# print("not prime")#1275n, m = map(int, input().split())#print(n**m)#1276a = int(input())#sum=1#for i in range(2, a+1):# sum*=i#print(sum)#1277a = int(input())#arr = list(map(int, input().split()))#print(arr[0], arr[a//2], arr[-1])#1278n = int(input())#len = 0#while n>0:# n//= 10# len += 1#print(len)#1279a, b = map(int, input().split())#sum=0#for i in range(a, b+1):# if i%2!=0:# sum += i# elif i%2==0:# sum -= i#print(sum)#1280a, b = map(int, input().split())#sum=0#str=""#for i in range(a, b+1):# if i%2!=0:# sum+=i# str+=f"+{i}"# else:# sum-=i# str+=f"-{i}"#print(f"{str}={sum}")#1281a, b = map(int, input().split())#sum=0#str=""#for i in range(a, b+1):# if i%2!=0:# if a==i:# sum+=i# str+=f"{a}"# else:# sum+=i# str+=f"+{i}"# else:# sum-=i# str+=f"-{i}"#print(f"{str}={sum}")#**********1282#1283origin = int(input())#day = int(input())#arr = list(map(int, input().split()))#sum=origin#for i in arr:# sum*=(100+i)/100#print(round(sum-origin))#if sum>origin:# print("good")#elif sum==origin:# print("same")#else:# print("bad")#*********1284#**********1285#1286list=[]#for i in range(0,5):# a = int(input())# list.append(a)##print(max(list))#print(min(list))#1287n = int(input())#for i in range(1, 10):# print((n*i)* "*")#**********1294#**********1675#**********1295
0
0
2
johnpark0901
2024년 2월 04일
In 소스 코드 제출
#1251for n in range(1,101):   # print(n, end=' ')#1252a = input()#a = int(a)#for n in range(1,a+1): # print(n ,end=' ')#1253a, b = input().split()#a = int(a)#b = int(b)#if a > b:# for n in range(b, a+1):# print(n, end=' ')#else:# for n in range(a, b+1):# print(n, end=' ')#1254a, b = input().split()#a = ord(a)#b = ord(b)#for n in range(a, b+1):# print(chr(n), end=' ')#1256n = input()#n = int(n)#print("*"*n)#1257a, b = input().split()#a = int(a)#b = int(b)#for n in range(a, b+1):# if n%2==1:# print(n, end=' ')#1258a = input()#a = int(a)#n = (a*(a+1))//2#print(n)#1259a = input()#a = int(a)#s = 0#for i in range(1, a+1):# if i % 2 == 0:# s += i#print(s)#1260a, b = input().split()#a = int(a)#b = int(b)#s = 0#for i in range(a, b+1):# if i % 3 == 0:# s += i#print(s)#1261d = input().split()#for n in range(len(d)):# d[n] = int(d[n])# s = 0# if d[n]%5==0:# print(d[n])# s += 1# break#if s == 0:# print("0")#1265a = input()#a = int(a)#for n in range(1, 10):# s=a*n# print(a,'*',n,"=",s, sep="")#1266a = int(input())#k = input().split()#s=0#for i in range(0,a):# s += int(k[i])#print(s)#a = int(input())#k = input().split()#s=0#for i in range(0,a):# if int(k[i])%5==0:# s += int(k[i])#print(s)#1268nt(input())#k = input().split()#s=0#for i in range(0,a):# if int(k[i])%2==1:# s += 1#print(s)#1269a, b, c, d = map(int, input().split())#for n in range(d-1):   # a*b+c n-1번# a = a * b + c#print(a)#1270a = input()#a = int(a)#s=0#for n in range(a+1):# if n%10==1:# s += 1#print(s)#1271a = input()#d = input().split()#s=0#for n in range(len(d)):# d[n]=int(d[n])# if d[n] > s:# s=d[n]#print(s)#1272a, b = input().split()#a = int(a)#b = int(b)##s=0#if a%2==0:# s += (10*a)//2#else:# s += (a+1)//2#if b%2==0:# s += (10*b)//2#else:# s += (b+1)//2#print(s)#1273a = input()a = int(a)for n in range(1, a+1):    if a % n == 0 :           print(n, end=' ')
0
0
1
johnpark0901
2024년 2월 03일
In 소스 코드 제출
#a, b = input().split()#a = int(a)#b = int(b)#if b>=30:# print(a, b-30)#elif a!=0:# print(a-1, b+30)#else:# print(23, b+30)#n = int(input())#print(n, end="")#if n % 10 == 1:# if n == 11:# print("th")# else:# print("st")###elif n % 10 == 2:# if n == 12:# print("th")# else:# print("nd")#elif n % 10 == 3:# if n == 13:# print("th")# else:# print("rd")#else:# print("th")#yy,mm=map(int,input().split())#if(mm==1 or mm==3 or mm==5 or mm==7 or mm==8 or mm==10 or mm==12):# print('31')#elif(mm==2):# if((yy%400==0) or (yy%4==0 and yy%100!=0)):# print('29')# else:# print('28')#elif(mm==4 or mm==6 or mm==9 or mm==11):# print('30')#a,b,c=map(int,input().split())#if(c<a+b):# if(a**2+b**2==c**2):# print("직각삼각형")# elif(a==b!=c or a!=b==c):# print("이등변삼각형")# elif(a==b==c):# print("정삼각형")# else:# print("삼각형")#else:# print("삼각형아님")#a,b=input().split()#a =float(a)#b=float(b)#x=(a-100)*0.9#i=(b-x)*100/x#if i<=10:# print("정상")#elif i<=20:# print("과체중")#elif i >20:# print("비만")
0
0
1
johnpark0901
2024년 1월 28일
In 소스 코드 제출
#6063n, m = input().split()#n = int(n)#m = int(m)#c = n if n>=m else m#print(int(c))#6064a, b, c = input().split()#a = int(a)#b = int(b)#c = int(c)#s = (a if a<b else b) if ((a if a<b else b)<c) else c#print(int(s))#6065a, b, c = input().split()#a = int(a)#b = int(b)#c = int(c)#if a%2==0:# print(a)#if b%2==0:# print(b)#if c % 2==0:# print(c)#if a%2==0 and a>0 :  # print('hello')#elif 조건식 :# if :#else :#6066a, b, c = input().split()#a = int(a)#b = int(b)#c = int(c)#if a%2==0:# print("even")#else :# print('odd')#if b%2==0:# print("even")#else :# print('odd')#if c%2==0:# print("even")#else :# print('odd')#6067a = input()#a = int(a)#if a<0:# if a%2==0:# print("A")# else :# print("B")#else:# if a%2==0:# print("C")# else:# print("D")#6068a = input()#a = int(a)#if a>=90:   # print("A")#elif a>=70:# print("B")#elif a>=40:# print("C")#elif a>=0:# print("D")#6069a = input()#if a=='A': # print("best!!!")#elif a=='B':# print("good!!")#elif a=='C':# print("run!")#elif a=='D':# print("slowly~")#else:# print("what?")#6070n = input()#n = int(n)#if n//3==1:# print("spring")#elif n//3==2:# print("summer")#elif n//3==3:# print('fall')#else:# print("winter")#1164a, b, c = input().split()#a = int(a)#b = int(b)#c = int(c)#if a<=170:# print("CRASH")#elif b<=170:# print("CRASH")#elif c<=170:# print("CRASH")#else:# print("PASS")#1166a = input()# a = int(a)# if a%400==0 or a%4==0 and a%100!=0:# print("Leap")# else:# print("Normal")#a, b = input().split()#a = int(a)#b = int(b)#if b>=30:# print(a, b-30)#elif a!=0:# print(a-1, b+30)#else:# print(23, b+30)a, b, c = input().split()a = int(a)b = int(b)c = int(c)if a+b<=c:    print("Not")elif a==b==c:    print("Regular")elif a**2+b**2==c**2:    print("Right")elif a==b or b==c or a==c:    print("Isosceles")
0
0
3
johnpark0901
2022년 3월 09일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h> int memo[100008]={}; -------3713 관계기반설계 블럭채우기 3 int rec(int n) { if(memo[n]!=0) return memo[n]; if(n==1) return memo[n]=1; if(n==2) return memo[n]=3; if(n%2==0) { return memo[n]=(2*rec(n-1)+1)%100007; } else { return memo[n]=(2*rec(n-1)-1)%100007; } } int main() { int n; scanf("%d",&n); printf("%d",rec(n)); return 0; } 1 1 2 3 3 5 4 11 -----짝수는 이전 거 2배에서 +1, 홀수는 이전 거 2배에서 -1 5 21 6 43 #include <stdio.h>//탑이 일단 ( 인 순간 배드. 그게 아니면 짝이 맞아야 한다. #define SIZE 50000 char stack[SIZE]; int top=-1; void push(char data) { if(top==SIZE-1) return ; stack[++top]=data; --3129 스택 올바른 괄호 2 } int main() { char a[50001]= {}; int i,n,cnt=0,cmt=0; scanf("%s",a); for(i=0; a[i]!=NULL; i++) { if(a[i]=='(') { cnt++; } else { cmt++; } if(cnt<cmt) { printf("bad"); return 0; } else { push(a[i]); --개수가 안 맞을때만 스택 } } if(cnt!=cmt) ----마지막에도 맞는지 아닌지 확인 { printf("bad"); return 0; } if(stack[top]=='(') --일단 탑이 ( 이면 무조건 아님 printf("bad"); else printf("good"); ---그게 아니고 스택의 개수도 맞으면 무조건 good return 0; } */ /* #include <stdio.h>//탑이 일단 ( 인 순간 배드. 그게 아니면 짝이 맞아야 한다. #define SIZE 50000 int top=0; // top은 현재 입력된 ( 의 갯수 int main() { char a[50001]= {}; int i,n,cnt=0,cmt=0; scanf("%s",a); for(i=0; a[i]!=NULL; i++) { if(a[i]=='(') { top++; ---top의 개수로 top이 끝에 0이 되면 순서에 맞게 잘 들어간 거니까 good이 됨. } else { if(top==0) { printf("bad"); return 0; } top--; } } if(top>0) --일단 탑이 ( 이면 무조건 아님 printf("bad"); else printf("good"); ---그게 아니고 스택의 개수도 맞으면 무조건 good return 0; } */ #include <stdio.h> #define SIZE 200 int stack[SIZE]; int top=-1; void push(int data) { if(top==SIZE-1) return ; stack[++top]=data; } int pop() { if(top==-1) return -100; return stack[top--]; } int main() { int n,x; char str[50]; scanf("%d\n",&n); for(int i=0;i<n;i++) { gets(str); if(str[0]=='p'&&str[1]=='u') { x=0; for(int j=6;str[j]!=' ';j++) { x=x*10+(str[j]-'0'); } push(x); } else if(str[0]=='p'&&str[1]=='o') ---3102 스택 STL stack { pop(); } else if(str[0]=='t') { if(top==-1) { printf("-1\n"); } else { printf("%d\n",stack[top]); } } else if(str[0]=='s') { printf("%d\n",top+1); } else { if(top==-1) { printf("true\n"); } else { printf("false\n"); } } } return 0; }
0
0
2
johnpark0901
2022년 3월 02일
In 소스 코드 제출
///* //#include <stdio.h> //#include <stdlib.h> // //int main() //{ // printf("Hello world!\n"); // return 0; //} //*/ // //#include <stdio.h> //zero 받으면 top 빼버리기 //#define SIZE 100000 //int stack[SIZE]; //int top=-1; // //void push(int data) //{ // if(top==SIZE-1) return; // stack[++top]=data; //} //int pop() //{ // if(top==-1) return -100; // return stack[top--]; //} // //int main() //{ // int n,i,sum=0,a[100001]={}; // scanf("%d",&n); // for(i=1;i<=n;i++) // { // scanf("%d",&a[i]); // } // // for(i=1;i<=n;i++) // { // push(a[i]); // } // // for(i=1;i<=n;i++) // { // if(a[i]==0) // { // pop(a[i-1]); // } // } // // while(top!=-1) // { // sum=sum+pop(); // } // // printf("%d",&sum); // // return 0; //} /* #include<stdio.h> int main() { int stack[100000] = {0}, top=0, i, k, n, sum=0; scanf("%d", &n); for(i=0; i<n; i++) { scanf("%d", &k); ---3117 스택 0은 뺴! if(k==0) { top--; stack[top] = 0; } else { stack[top++] = k; } } for(i=0; i<n; i++) { //printf("%d\n", stack[i]); sum=sum+stack[i]; } printf("%d",sum); return 0; } */ /* #include <stdio.h> #define SIZE 201 int stack[SIZE]; int top=-1; void push(char data) { if(top==SIZE-1) return; stack[++top]=data; } char pop() { if(top==-1) return -100; return stack[top--]; } int main() { char a[201]={}; int i; gets(a); for(i=0; i<strlen(a); i++) { printf("%c\n", a[i]); } } */ /* #include <stdio.h> int memo[10000008]; int rec(int n) ----3709 관계기반 설계 블럭 세우기 { if(memo[n]!=0) return memo[n]; if(n==1) return 1; if(n==2) return 2; return memo[n]=(rec(n-1)%100000007+rec(n-2)%100000007)%100000007; } int main() { int n; scanf("%d",&n); printf("%d",rec(n)); return 0; } */ 숙제=3713 블럭채우기 3
0
0
2
johnpark0901
2022년 2월 23일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h> int main() { int t,n,i,a[100001]={},j; //a[i]=i라는 숫자가 들어온 횟수 scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&t); ----3014 테이터 정렬 정렬을 빠르게! a[t]++; } //i를 a[i]번 출력(밑에 코드) for(i=0;i<=100000;i++) //100,000까지의 수를 위의 t에서 { //저장한 개수만큼 출력한다. for(j=1;j<=a[i];j++)//(i를 a[i]개 만큼 출력 ) { printf("%d ",i); } } return 0; } 상수 push : top을 증가시킴 -> top번째에 데이터 입력 1714 2016 3117 3129 #include <stdio.h> #define SIZE 500 int stack[SIZE]; int top = -1 ; // top : .마지막으로 입력된 데이터의 위치 void push(int data) { //full check if(top==SIZE-1) return ; stack[++top]=data; //(top을 먼저 증가시키는 방법) } int pop() { //empty check if(top==-1) return -100; return stack[top--]; } int main() { push(8); push(9); push(10); push(11); //printf("%d",pop()); while(top!=-1) //스택 전부 pop { printf("%d\n",pop()); } } */ /* #include <stdio.h> #define SIZE 31 int top=-1; char stack[SIZE]; void push(char data) { if(top==SIZE-1) return ; stack[++top]=data; } char pop() { if(top==-1) return -100; --1714 스택 숫자 거꾸로 출력하기 return stack[top--]; } int main() { char str[SIZE]; scanf("%s",str); for(int i=0;str[i]!=0;i++) { push(str[i]); } while(top!=-1) { printf("%c",pop()); } return 0; } */ #include <stdio.h> #define SIZE 301 char stack[SIZE]; int top=-1; void push(char data) { if(top==SIZE-1) return ; stack[++top]=data; } char pop() { if(top==-1) return -100; return stack[top--]; ----2016 스택 천단위 분류기호 } int main() { int n,i,c=0; char a[201]= {}; scanf("%d %s",&n,a); for(i=n-1; i>=0; i--) { push(a[i]); c++; if(c%3==0&&c!=n) { push(','); } } while(top!=-1) { printf("%c",pop()); } return 0; } 숙제 3102 0은빼!/3129 올바른 괄호2
0
0
1
johnpark0901
2022년 2월 09일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h> int a[100001]= {}; int n; -----2633 탐색기반설계 Lower Bound int bs(int s,int e,int k) //n을 받는 방법이 중요함(전체에다가 받아버리기) { int mid=(s+e)/2; if(s>=e) //종료조건 { return mid; } else if(a[mid]>=k) { bs(s,mid,k) ; } else if(a[mid]<k) { bs(mid+1,e,k); } } int main() { int k,i,x; scanf("%d %d",&n,&k); for(i=1; i<=n; i++) { scanf("%d",&a[i]); } if(a[n]<k) { printf("%d",n+1); } else { printf("%d",bs(1,n,k)); } return 0; } */ /* #include <stdio.h> int a[100001]= {}; //quick_sort void qs(int s,int e) // arr[s] ~ arr[e]까지 정렬하세요 { int p=s; //기준값의 위치는 맨처음 (p=pivot) int low=s,high=e+1; if(s>=e) return ; do { do //(do 안쓰고 그냥 while로 해도 되는데 시간초과 뜸) { low++; }while(a[p]>a[low]); do { high--; }while(a[p]<a[high]); ----------------1452 데이터 정렬 데이터 정렬(large) //a[low]와 a[high] 교환 if(low<high) { int tmp=a[low]; a[low]=a[high]; a[high]=tmp; } }while(low<high); // a[p]값을 기준으로 작은건 왼쪽, 큰건 오른쪽 int tmp=a[p]; a[p]=a[high]; //(대략 두번 정도 하면 정렬이 되는듯) a[high]=tmp; qs(s,high-1); qs(high+1,e); } int main() { int k,i,n; scanf("%d",&n); for(i=1; i<=n; i++) { scanf("%d",&a[i]); } qs(1,n); for(i=1;i<=n;i++) { printf("%d\n",a[i]); } } */ #include <stdio.h> //퀵 정렬로 순서 만들고 탐색으로 숫자 바꾸고 원래 순서로 출력하기 int a[50001]= {}; int d[50001]= {}; int x; void qs(int s,int e) { int p=s; int low=s,high=e+1; if(s>=e) return ; do { do { low++; } while(a[p]>a[low]); do { high--; } while(a[p]<a[high]); if(low<high) { int tmp=a[low]; a[low]=a[high]; a[high]=tmp; } } while(low<high); int tmp=a[p]; a[p]=a[high]; a[high]=tmp; qs(s,high-1); qs(high+1,e); //(퀵 정렬) } int bs(int s,int e, int x) { int mid=(s+e)/2; if(s>e) { return -1; } else if(a[mid]==x) { return mid; } else if(a[mid]<x) { bs(mid+1,e,x); } else { bs(s,mid-1,x); } //이분 탐색 } int main() { int n,i; scanf("%d",&n); for(i=0; i<n; i++) { scanf("%d",&a[i]); d[i]=a[i]; //두 배열의 값 일치시키기(a는 정렬 후 배열,d는 정렬 전 배열) } qs(0,n-1);//순서 완성 for(i=0; i<n; i++) { printf("%d ",bs(0,n-1,d[i])); //원래 배열에서 정렬 된 배열과 비교하며 숫자를 대입하고(순서) 바로 출력하기 } return 0; }
0
0
4
johnpark0901
2022년 1월 26일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h>//나머지 출력하고 나머지 출력하고 계속 반복 void rec(int n) { if(n==0) return; //(3)반반 가서 마지막 1을 출력하기 위한 과정 rec(n/2); //(1)n절반까지 가서 printf("%d",n%2);//(2)거기서 부터 그거의 나머지들을 출력하기 } int main() ----1920 재귀함수 2진수 변환 { int n; scanf("%d",&n); if(n==0) { printf("0"); } rec(n); } 순차 탐색 이진 탐색 (이분탐색) binary search 정렬이 되어 있는 상태에서 */ /* #include <stdio.h> int arr[10]={1,3,5,7,9,11,13,15,17,19}; // s ~ e 중에 k값의 위치 리턴 int bs(int s, int e, int k) { int mid=(s+e)/2; //가운데 위치 if(s>e) // 존재하지 않을 때 { return -1; } if(arr[mid]==k) { return mid; } else if(arr[mid]<k) { bs(mid+1,e,k); } else { bs(s,mid-1,k); } } int main() { int k; scanf("%d",&k); printf("k의 위치 : %d",bs(0,9,k)); return 0; } */ /* #include <stdio.h> int a[10000001]={}; int bs(int s,int e, int x) { int mid=(s+e)/2; if(s>e) { return -1; } else if(a[mid]==x) { return mid; } else if(a[mid]<x) { bs(mid+1,e,x); } else { bs(s,mid-1,x); -----3002 이진 탐색 기억력 테스트 3 } } int main() { int n,m,i,x; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&a[i]); } scanf("%d",&m); for(i=1;i<=m;i++) { scanf("%d",&x); printf("%d ",bs(1,n,x)); } return 0; } */ #include <stdio.h> int a[100001]={}; int bs(int s,int e,int k,int n) { int mid=(s+e)/2; if(s>e) { return n+1; } if(a[mid]<k) { bs(mid+1,e,k); } else { bs(s,mid,k); } } // 1 3 5 7 7 7 7 7 7 int main() { int n,k,i,a[100001]; scanf("%d %d",&n,&k); for(i=1;i<=n;i++) { scanf("%d",a[i]); } printf("%d",bs(1,n,k,n)); return 0; } 수우우우우우우우욱제에에에에 -마지막에 못푼 2633 풀기
0
0
2
johnpark0901
2022년 1월 19일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h> //함수 2개..? void star(int n) { if(n==0) return; star(n-1); printf("*"); --(2)수 받아서 별 n개 출력하기 } void rec(int n) { if(n==0)return; rec(n-1); star(n); --(1)star로 수 보내기 printf("\n");---(3)star에ㅅ서 한 줄의 별 출력하고 다시 줄 바꿔주기 } int main() { int n; scanf("%d",&n); rec(n); } */ /* rec(0)=1...? rec(1)=1 rec(2)=2 rec(3)=4 rec(4)=7 rec(5)=13 규칙=3단 피보나치 memoization 메모 */ /* #include <stdio.h> int memo[100001]={}; int rec(int n) { if(memo[n]!=0) return memo[n]; if(n==1) return memo[n]=1; else if(n==2) return memo[n]=2; else if(n==3) return memo[n]=4; return memo[n]=(rec(n-1)+rec(n-2)+rec(n-3))%1000; } int main() { int n; scanf("%d",&n); printf("%d",rec(n)); --3704 재귀함수 계단 오르기2 return 0; } */ /* #include <stdio.h> int memo[100010]={}; int rec(int n) { if(memo[n]!=0) return memo[n]; if(n==1||n==2) return memo[n]=1; return memo[n]=(rec(n-1)+rec(n-2))%10009; } int main() { int n; scanf("%d",&n); --1916 재귀함수 피보나치수열(Large) printf("%d",rec(n)); return 0; } */ #include <stdio.h> int memo[51][51]={}; int rec(int r,int c) { if(memo[r][c]!=0) return memo[r][c]; if(r==1||c==1) return 1; return memo[r][c]=(rec(r,c-1)+rec(r-1,c))%100000000; } int main() ------3702 재귀함수 파스칼 삼각형 2 { int r,c; scanf("%d %d",&r,&c); printf("%d",rec(r,c)); }
0
0
2
johnpark0901
2022년 1월 12일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } rec(a,b) : a 부터 b까지 출력 하는 함수 : a출력 -> ... b-1출력 -> b출력 : a부터 b-1까지 출력 -> b출력 : rec(a,b-1) ->b출력 rec(3,7) */ /* #include <stdio.h> void rec(int a, int b) //선생님 숙제 { if(a==b+1) return ; rec(a,b-1); //rec는 뭐~뭐 까지 실행하기 | printf("%d ",b); //뭐~뭐 까지 출력하기 <-| } int main() { int a,b; scanf("%d %d",&a,&b); rec(a,b); } */ /* #include <stdio.h> void rec(int n) ---1902 재귀함수 1부터n까지 역순으로 출력하기 { if(n==0) return; -- (2) 0되면 끝 하고 리턴 시키기 printf("%d\n",n); --(3)다시 돌아오면서 출력 rec(n-1); -- (1)여기부터 시작해서 1까지 가기 } int main() { int n; scanf("%d",&n); rec(n); } */ /* #include <stdio.h> void rec(int a,int b) ---1904 재귀함수 두 수 사이의 홀수 출력하기 { if(a==b+1) return; - 일반 a부터 b까지와 똑같음 rec(a,b-1); - 일반 a부터 b까지와 똑같음 if(b%2!=0) --출력대상 비교 { printf("%d ",b); --출력대상 출력 } } int main() { int a,b; scanf("%d %d",&a,&b); rec(a,b); } rec(n) : (1부터 n까지의 합) 리턴 : (1부터 n-1까지의 합 + n )리턴 : (rec(n-1) + n) 리턴 rec(4)= rec(3)+4=rec(2)+3+4=rec(1)+2+3+4=rec(0) */ /* #include <stdio.h> int rec(int n) { //if(n==0) return 0; //종료조건 if(n==1) return 1; //종료조건 return rec(n-1)+n; ----------1905 재귀함수 1부터 n까지 합 구하기 } int main() { int n; scanf("%d",&n); printf("%d",rec(n)); } */ /* #include <stdio.h> int rec(int n) { if(n==1) return 1; --1912 재귀함수 팩토리얼 계산 return rec(n-1)*n; } int main() { int n; scanf("%d",&n); printf("%d",rec(n)); } rec(n) : (n-2번째수와 n-1번째수의 합) 리턴 : (1과 1+1의 합 + n )리턴 : (rec(n-1) +rec(n-2)) 리턴 */ /* #include <stdio.h> int rec(int n) { if(n==1||n==2) return 1; //종료조건 조금 헷갈리니 나중에 찾아보기 return (rec(n-1)+rec(n-2)); ---1915 재귀함수 피보나치 수열 } int main() { int n; scanf("%d",&n); printf("%d",rec(n)); } */ /* #include <stdio.h> void rec(int n) { printf("%d\n",n); --1928 재귀함수 우박수 (3n+1) (basic) if(n==1) return; if(n%2==0) { rec(n-(n/2)); } else { rec(3*n+1); } } int main() { int n; scanf("%d",&n); rec(n); } */ /* #include <stdio.h> void rec(int n) { if(n==1) { printf("1\n"); //return하기전에 1출력해버리기 return; } if(n%2==0) { rec(n/2); ---1929 재귀함수 우박수 (3n+1) (reverse) } else { rec(3*n+1); } printf("%d\n",n); } int main() { int n; scanf("%d",&n); rec(n); } */ 수우우우우우우우우우욱제에에에에에에 1953 삼각형 출력하기 1
0
0
2
johnpark0901
2022년 1월 12일
In 소스 코드 제출
#include <stdio.h> void rec(int a, int b) { if(b==a) return ; //b가 a되면 처음으로 돌아가서 거기부터 다시 실행하기 rec(b-1); //b부터a까지 출력대기 printf("%d ",b); //처음부터 출력하기 } int main() { int a,b; scanf("%d %d",&a,&b); rec(a,b); }
0
0
3
johnpark0901
2022년 1월 07일
In 소스 코드 제출
#include <stdio.h> void rec(int a, int b) { if(b==a) return ; rec(b-1); printf("%d ",b); } int main() { int a,b; scanf("%d %d",&a,&b); rec(a,b); } 재귀함수 a부터b까지 출력하기
0
0
4
johnpark0901
2022년 1월 05일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h> int main() { char data[2001]; fgets(data, 2000, stdin); printf("%s", data); return 0; } */ /* #include <stdio.h> typedef struct { int number,gas; }machine; int main() { int a,b,n,i,j; machine d[101]={},temp; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d %d",&d[i].number,&d[i].gas); } for(i=1;i<n;i++) //---전체 순서 사이클 { for(j=1;j<=n-i;j++) //---비교 사이클 { if(d[j].number>d[j+1].number) ---1805 구조체 연습(구조체 정렬) 입체기동장치 생산공장 { temp=d[j]; d[j]=d[j+1]; d[j+1]=temp; } } } for(i=1;i<=n;i++) { printf("%d %d",d[i].number,d[i].gas); printf("\n"); } return 0; } */ /* #include <stdio.h> typedef struct { int number,math,infor;/*(information)*/ /* (밑에 코드가 주석이 안돼서 한번 더함) } student; int main() { int n,i,j; student a[1001]= {},temp; scanf("%d",&n); for(i=1; i<=n; i++) { scanf("%d %d",&a[i].math,&a[i].infor); ----3017 데이터 정렬(구조체 정렬) 정렬 기준 a[i].number=i; } for(i=1; i<n; i++) { for(j=1; j<=n-i; j++) { if(a[j].math<a[j+1].math) //번호가 아니고 점수로 비교하는거라서 내림차순으로 해야함 { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } else if(a[j].math==a[j+1].math) { if(a[j].infor<a[j+1].infor) //번호가 아니고 점수로 비교하는거라서 내림차순으로 해야함 { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } else if(a[j].infor==a[j+1].infor) { if(a[j].number>a[j+1].number) //번호로 비교하는거라서 오름차순으로 해야함 { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } } } for(i=1;i<=n;i++) { printf("%d %d %d",a[i].number,a[i].math,a[i].infor); printf("\n"); } return 0; } */ /* #include <stdio.h> typedef struct { int year,month,date; char name[100]; } schedule; int main() { int n,i,j; schedule a[101]={},temp; scanf("%d",&n); for(i=1; i<=n; i++) { scanf("%s %d %d %d",a[i].name,&a[i].year,&a[i].month,&a[i].date); } for(i=1; i<n; i++) { for(j=1; j<=n-i; j++) { if(a[j].year>a[j+1].year) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } else if(a[j].year==a[j+1].year) { if(a[j].month>a[j+1].month) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } else if(a[j].month==a[j+1].month) -------3019 구조체 연습 (구조체 정렬) 스케줄 정리 { if(a[j].date>a[j+1].date) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } else if(a[j].date==a[j+1].date) { if(strcmp(a[j].name,a[j+1].name)>0)//앞의 값의 사전 페이지수 에서 뒤의값의 사전 페이지를 뺀다. { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } } } } for(i=1;i<=n;i++) { printf("%s",a[i].name); printf("\n"); } return 0; } 재귀함수 recursive function 함수 안에서 자신을 다시 호출 자신으로 다시 정의 내린다. rec(n) : n 부터 1까지 출력 하는 함수 : n출력 -> n-1출력 -> .... 1출력 : n출력 -> n-1부터 1까지 출력 : n출력 -> rec(n-1) #include <stdio.h> void rec(int n) { if(n==0) return ; printf("%d ",n); rec(n-1); //재귀호출 } int main() { rec(80); } rec(n) : 1 부터 n까지 출력 하는 함수 : 1출력 -> ... n-1출력 -> n출력 : 1부터 n-1까지 출력 -> n출력 : rec(n-1) ->n출력 */ /* #include <stdio.h> void rec(int n) { if(n==0) return ; //우선 n부터 0까지 가면서 출력을 대기시켜놓고 다시 return 하면서 돌아보며 값들을 출력한다 rec(n-1); printf("%d ",n); --1901 재귀함수 1부터 n까지 출력하기 } int main() { int n; scanf("%d",&n); rec(n); } 수우우우우우우우우우욱제에에에에에에에에에 재귀함수로 ) a부터 b까지 출력하기 재귀함수로 ) a부터 b까지 3의배수만 출력하기 */
0
0
25
johnpark0901
2021년 12월 29일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h> int a[10001]; int n, i, j, temp,cnt=0; int main() { scanf("%d", &n); for (i=1; i<=n; i++) scanf("%d", &a[i]); for(i=1; i<n; i++) { cnt=0; for(j=1; j<=n-i; j++) ---3011 데이터정렬 거품정렬 { if (a[j] > a[j+1]) { cnt++; ---바뀐게 없으면 cnt=0 temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } if(cnt==0) { break; } } printf("%d",i-1); ---3단계에서 끝난걸 확인했으니까 정렬된 하나 전 단계 출력 } */ /* #include <stdio.h> typedef struct { char name[100]; int score; } student; int main() { int i,j,n; student d[51]={},temp; scanf("%d", &n); for (i=1; i<=n; i++) { scanf("%s %d",d[i].name,&d[i].score); } for(i=1; i<n; i++) ----------1420 데이터 정렬 3등찾기 { for(j=1;j<=n-i;j++) { if (d[j].score < d[j+1].score) //---점수비교 { temp = d[j]; d[j] = d[j+1]; //----정보전체 순서바꾸기 d[j+1] = temp; } } } printf("%s", d[3].name); return 0; } //포인터 : 주소를 저장하는 변수 (자료형) //int* char* float* #include <stdio.h> void magic(int* pa) { *pa++; } int main() { int a=5; int* pa = &a; printf("a : %d\n",a); //직접참조 printf("pa : %d\n",pa); printf("*pa : %d\n",*pa); //간접참조 magic(&a); printf("%d",a); //간접참조연산자 *pa } */ /* #include <stdio.h> void myswap(int* a,int* b) ------1581 함수 포인터 { (함수 작성+포인터) swap 함수 만들기 (Call by Reference) int temp; c언어....그동안 재밌었다 2월달에 오면 재귀함수까지 끝내고 c++도 할수있었으면 좋겠다 if(*a>*b) { temp=*a; *a=*b; -----a,b 주소를 서로 바꿔서 출력순서를 바꿈 *b=temp; } } main() { int a, b; scanf("%d%d", &a, &b); myswap(&a, &b); printf("%d %d", a, b); } */ //int arr[50]; //arr == &arr[0] /* #include <stdio.h> void f(char* s) { printf("%s",s); } void f1(char* s, int len) { for(int i=0;i<len;i++) { printf("%c",s[i]); } } int main() { char str[50]={}; *(str+n) == str[n] 배열의 이름은 배열의 첫 원소의 주소와 같다 //scanf("%s",&str[1]); scanf("%s",str); f1(str,2); //printf("%c",str[0]); //printf("%c",str[1]); } */
0
0
3
johnpark0901
2021년 12월 22일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h> typedef struct { int score,grade; } student; int main() { int i,n,cnt=0,j; scanf("%d",&n); student d[201]; for(i=1; i<=n; i++) { scanf("%d",&d[i].score); } for(i=1;i<=n;i++) ----4012 구조체 연습 석차배틀 { cnt=0; for(j=1; j<=n; j++) { if(d[i].score<d[j].score) { cnt++; } } d[i].grade=cnt+1; } for(i=1; i<=n; i++) { printf("%d %d",d[i].score,d[i].grade); printf("\n"); } return 0; } 정렬 1 2 3 4 5 5 1 4 2 3 1 2 3 4 5 (오름차순) 5 4 3 2 1 (내림차순) 1. 코드 쉬워 , 시간 느림 (지하철) 버블, 선택, 삽입 .. 2. 코드 어려워, 시간 빨라 (비행기) 퀵, 기수, 병합, 힙 .. */ /* #include <stdio.h> int a[10001]; int n, i, j, temp; int main() { scanf("%d", &n); for (i=1; i<=n; i++) scanf("%d", &a[i]); for(i=1; i<n; i++) ---싸이클의 반복을 위한 반복문 { for(j=1;j<=n-i;j++) --- -->1441 버블 정렬 \->인접한 수의 비교를 위한 반복문 { if (a[j] > a[j+1]) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } for (i = 1; i <= n; i++) printf("%d\n", a[i]); return 0; } */ /* #include <stdio.h> int a[10001]; int n, i, j, temp, min; int main() { scanf("%d", &n); for (i = 1; i <= n; i++) scanf("%d", &a[i]); for (i=1; i<n; i++) { min=i; //최솟값의 위치 for (j=i+1; j<=n; j++) { if(a[j]<a[min]) ----1442 선택 정렬 { min=j; } } temp = a[i]; a[i] = a[min]; a[min] = temp; } for (i=1; i<=n; i++) printf("%d\n", a[i]); return 0; } */ /* #include <stdio.h> int a[10001]; int n, i, j, temp, min; int main() { scanf("%d", &n); for (i = 1; i <= n; i++) scanf("%d", &a[i]); for (i=1; i<n; i++) { min=i; //최솟값의 위치 for (j=i+1; j<=n; j++) { if(a[j]>a[min]) ----1709 선택 정렬 내림차순 정렬 { min=j; } } temp = a[i]; a[i] = a[min]; a[min] = temp; } for (i=1; i<=n; i++) printf("%d\n", a[i]); return 0; } */ /* #include <stdio.h> int a[10001]; int n, i, j, temp; int main() { scanf("%d", &n); for (i=1; i<=n; i++) scanf("%d", &a[i]); for(i=1; i<n; i++) ---싸이클의 반복을 위한 반복문 { for(j=1;j<=n-i;j++) --- -->1709 버블 정렬 내림차순 정렬 \->인접한 수의 비교를 위한 반복문 { if (a[j] < a[j+1]) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } for (i = 1; i <= n; i++) printf("%d\n", a[i]); return 0; } */ #include <stdio.h> int a[10001]; int n, i, j, temp, key; int main() { scanf("%d", &n); for (i = 1; i <= n; i++) scanf("%d", &a[i]); for (i=2; i<=n; i++) { key=a[i]; for(j=i-1;1<=j&&a[j]>key; j--) --1443 삽입 정렬 { a[j+1]=a[j]; } a[j+1]=key; } for (i=1; i<=n; i++) printf("%d\n", a[i]); return 0; } 숙제- 4776간지-조건문정도...? /4726수열-1차원배열 / 15074개의직사강형-2차원배열 / 14203등찾기 -2차원배열
0
0
4
johnpark0901
2021년 12월 15일
In 소스 코드 제출
/*struct 구조체 자료형을 새로 만든다 #include <stdio.h> typedef struct { char name[10]; int age,number; }student; int main() { student a; scanf("%s %d",a.name,&a.age); printf("%s %d",a.name,a.age); //char name[10]; //int age; student arr[101]; int i, j, n; for(i=1;i<=n;i++) { scanf("%s %d",arr[i].name,&arr[i].age); } return 0; } */ /* #include <stdio.h> typedef struct { int country,number,score; } student; int main() { int n,i,max=1,a,b; student d[101]; scanf("%d",&n); for(i=1; i<=n; i++) { scanf("%d %d %d",&d[i].country,&d[i].number,&d[i].score); if(d[max].score<d[i].score) { max=i; } } a=max; printf("%d %d",d[max].country,d[max].number); printf("\n"); d[max].score=0; max=1; ------------4751 구조체 연습 아시아 정보올림피아드 for(i=1; i<=n; i++) { if(d[max].score<d[i].score) { max=i; } } b=max; printf("%d %d",d[max].country,d[max].number); printf("\n"); d[max].score=0; max=1; if(d[a].country==d[b].country) { for(i=1; i<=n; i++) { if(d[i].country==d[a].country) { d[i].score=0; } } } for(i=1; i<=n; i++) { if(d[max].score<d[i].score) { max=i; } } printf("%d %d",d[max].country,d[max].number); return 0; } */ /* #include <stdio.h> typedef struct { char name[11]; int first,second,third; } student; int main() { char name[11]; int n,i,max=1,b,c,cnt=0; ------3016 구조체 연습 1등한 학생의 성적 student d[101]; scanf("%d",&n); for(i=1; i<=n; i++) { scanf("%s %d %d %d",d[i].name,&d[i].first,&d[i].second,&d[i].third); } for(i=1;i<=n;i++) { if(d[max].first<d[i].first) { max=i; //-----1등 확정 } } for(i=1;i<=n;i++) { if(d[max].second<d[i].second) //--자기보다 점수 높은 사람들 세서 자신의 등수 구하기 { cnt++; } b=cnt+1; } cnt=0; for(i=1;i<=n;i++) { if(d[max].third<d[i].third) //--자기보다 등수 높은 사람들 세서 자신의 등수 구하기 { cnt++; } c=cnt+1; } printf("%s %d %d",d[max].name,b,c); return 0; } */ #include <stdio.h> typedef struct { char name[11]; int score; } student; int main() { int n,m,i,j,max=1; -----3015 구조체 연습 성적표 출력 student d[101]; scanf("%d %d",&n,&m); for(i=1; i<=n; i++) { scanf("%s %d",d[i].name,&d[i].score); } for(i=1; i<=m; i++) { for(j=1; j<=n; j++) { if(d[max].score<d[j].score) { max=j; } } printf("%s",d[max].name); d[max].score=0; max=1; printf("\n"); } return 0; }
0
0
1
johnpark0901
2021년 12월 01일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h> int main() { int n,a[101][101]={},i,j,k,sum=0; int x, y; scanf("%d",&n); for(k=1; k<=n; k++) { scanf("%d %d",&x,&y); for(i=x; i<x+10; i++) { for(j=y; j<y+10; j++) ---4592 2차원배열 { 색종이1 a[i][j]=1; } } } for(i=1;i<=100;i++) { for(j=1;j<=100;j++) { if(a[i][j]==1) { sum=sum+1; } } } printf("%d",sum); return 0; } */ #include <stdio.h> int main() { int a[11][11]={},i,j,n,x,y,k,t,d[9]={},g,s[9]={}; for(i=1; i<=10; i++) { for(j=1; j<=10; j++) { scanf("%d",&a[i][j]); } } scanf("%d",&n); for(i=1; i<=n; i++) //---플레이어 좌표 입력 { scanf("%d %d",&d[i],&s[i]); } for(i=1; i<=10; i++) { for(j=1; j<=10; j++) ---1525 2차원배열 크레이지 아케이드 { if(a[i][j]>0) { k=a[i][j]; for(t=i; t<=i+k; t++) { if(t>10 || a[t][j]==-1) break; if(a[t][j]>=0) a[t][j]=-2; } for(t=i; t>=i-k; t--) { if(t<1 || a[t][j]==-1) break; if(a[t][j]>=0) a[t][j]=-2; } for(t=j; t<=j+k; t++) { if(t>10 || a[i][t]==-1) break; if(a[i][t]>=0) a[i][t]=-2; } for(t=j; t>=j-k; t--) { if(t<1 || a[i][t]==-1) break; if(a[i][t]>=0) a[i][t]=-2; } } a[i][j]=-2; } } for(i=1; i<=n; i++) { if(a[d[i]][s[i]]!=-2) //----아까준 좌표들이 살아있으면 i로 바꿔서 살아있는 표시하는 부분 { a[d[i]][s[i]]=i; } } for(i=1; i<=10; i++) { for(j=1; j<=10; j++) { printf("%d ",a[i][j]); } printf("\n"); } printf("Character Information"); for(i=1; i<=n; i++) { printf("\n"); if(a[d[i]][s[i]]==-2) { printf("player %d dead",i); } else { printf("player %d survive",i); } } return 0; }
0
0
1
johnpark0901
2021년 11월 24일
In 소스 코드 제출
/* #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h> long long int n; long long int sqrt(long long int n) { long long int i,sum=0; if(n==0) { return 0; ---1120 함수 } 함수로 양의 제곱근의 정수 부분만 리턴하기 else { for(i=1; i<=n; i++) { if(i*i>n) { return i-1; } else if(i*i==n) { return i; } } } } int main() { scanf("%lld", &n); printf("%d\n", sqrt(n)); return 0; } */ /* #include <stdio.h> long long int n; long long int f(long long int n) { long long int sum=0; ---1558 함수 함수로 정수 while(n!=0) 뒤집어 리턴 { (sum안의 값은 10씩 늘어나면서 sum=sum*10+n%10; 변수 n의 값의 1의자릿수를 변수 sum 값에 더할수 있다.) n=n/10; } return sum; } int main() { scanf("%lld", &n); printf("%lld\n", f(n)); } */ /* #include <stdio.h> int a, n; long long int pow(long long int a,long long int n) { long long int i,sum=1; if(a==1) return 1; else { for(i=1;i<=n;i++) --1566 함수 함수로 거듭제고 리턴 { sum=sum*a; } return sum; } } int main() { scanf("%d%d", &a, &n); printf("%lld\n", pow(a, n)); } */ /* #include <stdio.h> int gcd(int p, int q) { if(p==0) return q; return gcd(q%p, p); } long long int lcm(int a,int b) ---1565 함수 함수로 { 최소공배수 리턴 //a*b=최대*최소 return (long long int)a*b/gcd(a,b); } int main() { int a, b; scanf("%d%d", &a, &b); printf("%lld\n", lcm(a, b)); } */ #include <stdio.h> int f(int n) { int sum=0; while(n!=0) { sum=sum+n%10; --1620 함수 자릿수의 합 n=n/10; } return sum; } int main() { int i,n; scanf("%d",&n); while(f(n)>=10) { n=f(n); } printf("%d",f(n)); }
0
0
1

johnpark0901

더보기
bottom of page