https://www.acmicpc.net/problem/1654

 

1654번: 랜선 자르기

첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 후 K줄에 걸쳐 이미 가지고 있는 각 랜선의 길이가 센티미터 단위의 정수로 입력된다. 랜선의 길이는 231-1보다 작거나 같은 자연수이다.

www.acmicpc.net

 

 

#include<stdio.h>

long long k;
long long Lan[20000];   //원소는 초기화 됨. 

long long div(long long len)   //len로 자르기. 
{
   long long sum = 0;
   
   for(int i=0; i<k; i++)
   {
      sum += (Lan[i]/len);
   }
   
   return sum;
}

int main(void)
{   
   long long n;
   long long max = 0;
   scanf("%lld %lld", &k, &n);
   
   for(int i=0; i<k; i++)
   {
      scanf("%lld", &Lan[i]);
      
      if(max<Lan[i])
      {
         max = Lan[i];   //최대 원소값 찾기 
      }
   }
   
   long long s = 1;
   long long e = max;   //mid의 범위를 1~최대 원소값까지로 고정. 
   long long mid;
   long long res; 
   long long res2 = -1; 

   
   while(s<=e)
   {
      mid = (s+e)/2;
      
      res = div(mid);   //res는 조각의 개수. 
      //
      if(res >= n)
      {
        if(res2 < mid) {
          res2 = mid;
        }
         s=mid+1;
      }
      
      else
      {
         e=mid-1;
      }
   }
   
   printf("%lld\n", res2);
   
   return 0;
}

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=219&sca=10c0

 

JUNGOL | 함수2 - 자가진단4 > 문제은행

원의 넓이를 입력받아 반지름의 길이를 소수 둘째자리까지 출력하는 프로그램을 작성하시오. 원의 넓이 = 반지름 * 반지름 * 3.14 식을 이용하시오. 원의 넓이 / 3.14 의 제곱근을 구하면 된다.

www.jungol.co.kr

 

 

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 자가진단4
원의 넓이를 입력받아 반지름의 길이를 소수 둘째자리까지 출력하는 프로그램을 작성하시오.
원의 넓이 = 반지름 * 반지름 * 3.14 식을 이용하시오.
*/

int main()
{

    float a=3.14;
    float b;
    float n;
    float o;
    scanf("%f",&b);

    n = b/a;
    //o = sqrt(b/a);
    o = sqrt(n);

    printf("%.2f", o);
    return 0;
}

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=220&sca=10c0

 

JUNGOL | 함수2 - 자가진단5 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

#include <bits/stdc++.h>
using namespace std;
/*
583 : 함수2 - 자가진단5
세 개의 실수를 입력받아
가장 큰 수를 올림한 정수를 출력하고
가장 작은 수를 내림한 정수를 출력한 후
남은 수를 반올림한 정수를 출력하는 프로그램을 작성하시오.
입력되는 실수는 -1000이상 1000이하이다.
입력 예
3.45 51.48 -100.1
출력 예
52 -101 3
*/
bool comp(int a,int b){
     return a>b;
}

int main()
{
    float a[3];
    for(int i= 0;i<3;i++){
        scanf("%f",&a[i]);
    }
    float max,mid,min;

    sort(a, a+3,comp);

    max=a[0];
    mid=a[1];
    min=a[2];

    printf("%.2f %.2f %.2f",ceil(max),round(mid),floor(min));

    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

599 : 문자열1 - 자가진단7  (0) 2020.03.01
582 : 함수2 - 자가진단4  (0) 2020.03.01
584 : 함수2 - 자가진단6  (0) 2020.03.01
586 : 함수2 - 자가진단8  (0) 2020.03.01
233 : 함수3 - 형성평가3  (0) 2020.03.01

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=221&sca=10c0

 

JUNGOL | 함수2 - 자가진단6 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 자가진단6
main() 함수 내에는 숫자를 사용하지 말고 1, 2, 3 세 개의 숫자를 조합하여 가능한 한 모든 합을 출력하는 프로그램을 작성하시오.
출력예와 같이 출력하시오.
출력 예
1 + 1 = 2
1 + 2 = 3
1 + 3 = 4
2 + 1 = 3
2 + 2 = 4
2 + 3 = 5
3 + 1 = 4
3 + 2 = 5
3 + 3 = 6
*/

#define START 6
#define END   9

int main()
{
    for(int i=START;i<=END;i++){
        for(int j=START;j<=END;j++){
            printf("%d + %d = %d\n",i,j,i+j);
        }
        printf("\n");
    }
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

582 : 함수2 - 자가진단4  (0) 2020.03.01
83 : 함수2 - 자가진단5  (0) 2020.03.01
586 : 함수2 - 자가진단8  (0) 2020.03.01
233 : 함수3 - 형성평가3  (0) 2020.03.01
234 : 함수3 - 형성평가4  (0) 2020.03.01

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=223&sca=10c0

 

JUNGOL | 함수2 - 자가진단8 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

 

#include <bits/stdc++.h> 
using namespace std; 
/* 
함수2 - 자가진단8 
정수 두 개를 입력받고  계산식을 매크로 함수로 작성하여 두 수의 차를 제곱한 값과 합을 세제곱한 값을 각각 출력하는 프로그램을 작성하시오. 
(거듭제곱은 '^'로 표시하기로 한다.) 
입력 예 
5 10 
출력 예 
(5 - 10) ^ 2 = 25 
(5 + 10) ^ 3 = 3375 
(5 + 10) ^ 60 = ???? 
*/ 

int main() 
{ 
    int a,b,c; 
    scanf("%d %d",&a,&b); 
    int n = (a-b)*(a-b); 
    c = a+b; 
    int o = c*c*c; 
    int res = 1; 
    for(int i=0;i<3;i++){ 
        res = res * c; 
    } 
    printf("(%d - %d) ^ 2 = %d \n (%d + %d) ^ 3 = %d\n",a,b,n,a,b,o); 
    printf("res = %d\n", res); 

    printf("pow : (%d - %d) ^ 2 = %.0f \n (%d + %d) ^ 3 = %.0f\n", a,b,ceil(pow((a-b),2)),a,b,ceil(pow((a+b),3))); 
    //printf("pow : %f  ===  %f\n", pow((a-b),2), pow((a+b),3)); 

    return 0; 
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

83 : 함수2 - 자가진단5  (0) 2020.03.01
584 : 함수2 - 자가진단6  (0) 2020.03.01
233 : 함수3 - 형성평가3  (0) 2020.03.01
234 : 함수3 - 형성평가4  (0) 2020.03.01
589 : 함수3 - 자가진단3  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=133&sca=10d0

 

JUNGOL | 함수3 - 형성평가3 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

#include<bits/stdc++.h>
using namespace std;
//함수3 - 형성평가3
vector <int> v;

int check_sum(int n, int m){
    //v의 총합 이 M인지 확인
    int x=0;
    for(int i=0; i<n; i++){
        x=x+v[i];
    }
    if(x==m)return 1;
    else return 0;
}

void f(int n, int m)
{
    int i;
    //printf("=== %d \n", v.size());
    if(v.size()==n){
        if(check_sum(n,m)==1){
            //printf("===0");
            for(i=0; i<n; i++){
                printf("%d ",v[i]);
            }
            printf("\n");
            return;
        }
        else return;
    }

    for(i=1; i<=6; i++){
        v.push_back(i);
        f(n,m);
        v.pop_back();
    }
}


int main()
{
    int n,m;
    //printf("==== 0");
    scanf("%d %d",&n,&m);
    //printf("==== 1")
    f(n,m);
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

584 : 함수2 - 자가진단6  (0) 2020.03.01
586 : 함수2 - 자가진단8  (0) 2020.03.01
234 : 함수3 - 형성평가4  (0) 2020.03.01
589 : 함수3 - 자가진단3  (0) 2020.02.16
590 : 함수3 - 자가진단4  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=134&sca=10d0

 

JUNGOL | 함수3 - 형성평가4 > 문제은행

첫 번째는 1, 두 번째는 2, 세 번째부터는 앞의 두 수의 곱을 100으로 나눈 나머지로 이루어진 수열이 있다. 100 이하의 자연수 N을 입력받아 재귀함수를 이용하여 N번째 값을 출력하는 프로그램을 작성하시오.

www.jungol.co.kr

 

#include<bits/stdc++.h>
using namespace std;
/*함수3 - 형성평가4
첫 번째는 1, 두 번째는 2, 세 번째부터는 앞의 두 수의 곱을 100으로 나눈 나머지로 이루어진 수열이 있다.
100 이하의 자연수 N을 입력받아 재귀함수를 이용하여 N번째 값을 출력하는 프로그램을 작성하시오.
입력 예
8
출력 예
92
*/
int d[1004];
int f(int n)
{
    int result;
    if(n==1) return 1;
    if(n==2) return 2;
    if(d[n]>0){
        return d[n];
    }
    else{
        d[n] = (f(n-1)*f(n-2))%100;
        return d[n];
    }
}

int main()
{
    int n,k;
    scanf("%d",&n);
    k=f(n);
    printf("%d",k);
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

586 : 함수2 - 자가진단8  (0) 2020.03.01
233 : 함수3 - 형성평가3  (0) 2020.03.01
589 : 함수3 - 자가진단3  (0) 2020.02.16
590 : 함수3 - 자가진단4  (0) 2020.02.16
591 : 함수3 - 자가진단5  (0) 2020.02.16

오늘 저녁 메뉴는 대패 삼겹살~ㅎㅎㅎ
삼겹이 먹을때 빠지면 섭섭한 파절임과 양파절임을 만들어 보았다 ㅎㅎ

 

파절임

야채는 있는걸루 준비
대파는 메인^^
보통은 쌈을 싸먹기 때문에 쌈채소 몇장 썰어서 같이 무쳐 먹으면 맛있다~

오늘은 냉장고에 미나리가 있어서 같이 무쳐 보았는데 상큼하니 맛있네 ㅎㅎㅎ

대파,깻잎,미나리(쌈채소)
고춧가루2,액젓1,설탕1,식초1,다진마늘 약간,
참기름 적당히, 통깨 솔솔

 

가볍게 조물조물

 

조물조물 무쳐서 통깨로 마무리^^

양파 절임

고깃집가면 또 빠질수 없는 것 중에 하나인 양파절임

먼저 양파를 채썰어 찬물에 담가 매운기를 좀 빼놓고
양념 만들기
간장,식초,설탕,물 1:1:1:1,와사비 적당히

찬물에 양파 담궈 놓기

 

양념 만들기

 

와사비는 빠질수 없지 ㅎ

 

고기 먹을 준비 완료


오랜만에 전기 그릴에 대패 삼겹살 구워 먹으니 맛있다~ㅎㅎ
이렇게 토요일 저녁 해결~^^

 

 

면역

우리몸은 병원균이나 독소들이 들어 오면 이상을 감지하고 병이 나기전에 그 이물질을 처리하는 능력을 가주고 있다. 이것을 면역이라고 한다.

면역력을 높이는 5가지 방법

 

▶적당한 운동

 

운동은 혈액순화을 촉진해 각종 면역세포의 생성을 자극하고 활동을 도와 면역력을 높일 수 있다.

주 3~5회 정도 규칙적으로 하고 유산소 운동과 근력운동을 병행하는 것이 좋다.

자기 몸에 맞지 않는 운동이나 과도한 운정은 오히려 역효과가 날 수 있으니 주의 하는게 좋다.

 

 

충분한 숙면

 

잠을 충분히 자지 못하면 다음 날 몸이 하루 종일 피곤하고 집중력이 떨어진다. 

이처럼 수면시간이 부족하거나 수면의 질이 낮으면 면역력이 떨어져 각종 질병에 취약해 진다는 것.

몸이 안좋을때 한 숨 푹 자고 나면 몸의 컨디션이 한층 더 나아지기도 한다. 

이는 자는 동안 바이러스 감염 세포를 제거하는 백혈구의 공격 능력이 높아지고 면역기능을 떨어 뜨리는 스트레스 호르몬 코르티솔이 감소하기때문이다.

하루7~8시간 정도 잠을 충분히 자되 밤11~3시까지는 면역력을 높여주는 멜라토닌이 많이 분비되는 시간이므로 이 시간 만큼은 깊은 잠을 자는게 좋다.

 

스트레스 관리하기

 

스트레스를 받으면 우리 몸은 시상하부와 뇌하수체, 부신축, 자율신경계 외에도 면역계까지 관여 한다. 

이처럼 스트레스를 안받을 순 없지만 적절하게 풀어 주는 것이 중요.

가볍게 걷기, 많이 웃기, 가만히 멍 때리기, 음악들으며 따뜻한 차 마시기 등 자신만의 스트레스를 풀고 관리할 수 있는 방법 한 두 가지 정도 가지는게 좋다.

 

컬러푸드 섭취하기

 

 현대사회에 패스트 푸드나 가공식품은 피할 수 없는 음식이 되었지만 되도록 줄이고 천연식품과 컬러풀한 제철 과일및 채소, 양질의 단백질 섭취를 늘려보자.

컬러푸드란 파이토케미컬(천연 생체활성화합물질)을 포함한 빨간색, 흰색, 노란색, 초록색, 보라색등의 5가지색 과일과 채소를 말한다.

식물이 스스로를 지키지 위해 만들어낸 화학물질로 탄수화물, 단백질, 지방, 비타민, 미네랄, 식이섬유에 이어 제 7의 영양소라고도 불린다.

 

빨간색

토마토, 사과

흰색

양파, 마늘, 배추,버섯

노란색

파프리카, 호박

초록색

시금치, 상추,브로콜리

보라색

가지,자두,적포도

 

▶몸을 따뜻하게 유지하지

 

그동안 알려진 연구 결과에 따르면 체온이1℃가 떨어질 경우 면역력은 30%, 기초대사량은 12%가 떨어지는 반면에, 1℃가 오를경우 면역력이 50%나 증가하는 것으로 밝혀졌다. 

체온이 상승하면 혈액순환이 원활해지면서 세포활동을 촉진시키기 떄문에 신진대사가 활발해 진다.

가벼운 스트레칭, 음식 꼭꼭 씹어 먹기, 따뜻한 차 마시기 등 다양한 방법을 통해 체온을 관리하는게 도움이 된다.

 

누구나 알고 있는 정보 일 수도 있지만 사실 꾸준히 실천하는것이 어려운일.

하지만 건강하고 즐거운 삶을 누릴 수 있는 가장 우선이 되는 일이기에 노력해 봐야겠다.

●주어(S)+동사(V) 

 

1형식에 쓰이는 동사는 완전 자동사. 목적어나 보어가 쓰이지 않음

수동태(be+p.p)로 쓸수 없음

 

Time flies.

시간은 빠르게 지나간다.

 

The sun shines

해가 빛난다.

 

My watch stopped.

내 시계가 죽었다.

 

 

●주어(S)+동사(V)+ 수식어구 ( 부사(구),전치사+명사)

 

수식어구는 문장성분에 포함되진 않지만 의미를 덧붙여 부가적인 정보를 준다. 

이 수식어의 사용으로 문장이 더 길고 복잡해질수 있기때문에 독해가 어렵다고 느껴지기도 한다. 

1형식의 대부분의 문장은 단순하게 나오지는 않기 때문에 항상 주어 동사를 먼저 찾아서 순서대로 해석을 해주고 수식어를 차례로 덧붙이면서 해석을 하는게 중요!

 

He stayed in bed.

그는 머물렀다 침대에→그는 침대에 누워있었다.

 

The sun rises in the east.

태양은 뜬다 동쪽에서→태양은 동쪽에서 뜬다.

 

My brain doesn't work today.

나의 머리는 않는다 작동을 오늘오늘은 머리가 잘 돌아가지 않아.

 

 

They rose from the table

그들은 일어났다 식탁에서→그들은 식탁에서 일어났다.

 

What happened to your car?

무엇이 일어났니 너의 차 →너 차 어떻게 된거야?

 

She went into the room.

그녀는 갔다 방으로→그녀는 방으로 들어갔어

 

Here comes the bus.

여기로 온다 버스가→ 버스가 온다.

 

The flight from London will arrive on time. 

비행기 런던으로 부터오는 도착할거다 제시간에→런던발 비행기가 정시에 도착할 것입니다.

 

Why did you lie to me?

왜 너는 거짓말을 했니 나에게 → 너는 왜 나에게 거짓말을 했니?

 

또한 자동사에 따라 전치사가 붙는 경우가 있는데 해석상 타동사로 착각하기 쉬움.

이런건 숙어처럼 외워주면 독해하는데 도움이 많이 된다.

 

subscribe to ~를 구독하다

object to ~을 반대하다

look up at ~을 쳐다보다

hope for~을 바라다

apologize to ~에게 사과하다

complain of~을 불평하다

 

아침부터 바나나가 눈에 뛴다
빨리 먹어줘야 할것 같은 비주얼 ㅎㅎㅎ

그래서 토스트 만들어 먹기로

식빵에 계란물 묻혀 앞뒤로 노릇노릇
바나나도 살짝 구워 줬다( 사진깜빡;;;)

토스트에 구운 바나나 올리고 블루베리도 올려줌
시나몬 가루가 있으면 좋은데 없어서 생략
사진에 비슷한 색깔의 가루는 설탕임 ㅋㅋ
머스코바도 설탕 뿌려주고 꿀도 살짝~


커피랑 같이 간단한 아침 식사 완성^^

영어에서 대부분의 문장은 동사의 종류에 따라 5가지로 나뉠수 있다.

 

●1형식- 주어(S) + 동사(V)

 

→주어와 동사만 있어도 의미가 잘 전달이 되는 문장 

  여기에 쓰이는 동사가 완전 자동사.

 

   ex) A leaf fell.

      나뭇잎이 떨어졌다.( 주어 동사만으로도 말이됨)

 

2형식-주어(S) + 동사(V) + 보어(C)

 

주어와 동사로는 의미전달이 안되므로 동사가 어떤 상태인지를 설명해 줄수 있는 보어가 필요함.

  여기에 쓰이는 동사를 불완전 자동사 라고 한다.

 

  ex) He became a lawyer.

        그는 되었다 뭐가?? 변호사가(보어)

 

3형식-주어(S) + 동사(V) + 목적어(O)

 

3형식에 쓰이는 동사는 완전 타동사로 목적어 한개를 필요로 하는문장.

 

   ex) I bought a new watch.

           나는 샀다 무엇을?? 새로운 시계를(목적어)

 

4형식-주어(S) + 동사(V) + 간접 목적어(IO) +직접 목적어(DO)

4형식에 쓰이는 완전 타동사간접목적어(사람)와 직접 목적어(사물)를 필요로 하는 문장

 

   ex) He bought his wife an expensive bag.

       그는 사줬다 누구에게? 그의 아내에게 (간목) 무엇을??비싼 가방을 (직목)

 

5형식-주어(S) + 동사(V) + 목적어(O) + 목적보어(OC) 

5형식에 쓰이는 동사는 불완전타동사로 목적어를 가지지만

   목적어를 설명해 주는  목적 보어또한 있어야 하는 문장.

 

   ex) His gift made her very happy.

      그의 선물은 해줬다 누구를?그녀를(목적어) 어떻게?? 행복하게(목적보어)

코로나19 때문에 집콕한지 5일째

문밖으로는 한발짝도 안나가고 오로지 집안에서만 하루하루 보내고 있다.

아..쓰레기 버리러 한번 나갔네 

밤 12시 넘어 마스크에 비닐장갑에 중무장 하고 혼자 엘베타고 쓰레기 버리고 온게 한번..

엘베타기도 두렵고 버튼 누루는것도 두렵고,,

참내 이게 무슨일인지..

누가 보면 우리가 자가격리 하는줄;;;;;;

정작 자가격리 해야 할 사람들은 밖으로 잘 만 다니던데;;;

문자며 카페며 뉴스보고 있음 부글부글 ㅠㅠ

조금만 조심했어도 조금만 더 다른사람을 생각했다면 이렇게 까지 확진자 수가 급증했을까 ㅠㅠ

 

암튼 이런 와중에 집구석에서 잘 놀아 주고 있는 울 겸댕이들^^

 

오늘 점심은 김밥이라고 하니 자기들도 만들어 보겠다고 해서 

큰맘(?) 먹고 같이 만들기 도저~~언 ㅋㅋ

 

재료는 엄마가 준비하고

 

김밥말기 직전!! 저 김밥들의 미래가 보임 ㅋㅋㅋ 엄마만 보이나??ㅎㅎㅎ

 

야무진 2번 겸댕이 손^^

 

역시나 ㅋㅋㅋ성격나오는 두 형제의 김밥 결과물 ㅋㅋㅋ

 

김밥 세줄 말았을 뿐인데 설거지는 ㅋㅋㅋ

 

열심히 김밤말이하며 점심때우고 오후일정(?)은 공부하기

 

개학도 일주일 연기되고 지금보면 일주일뒤도 불투명 ;;;

암튼 마냥 있을순 없어 같이 계획표도 짯더니 (일명 피자 계획표 ㅋㅋ)

 계획표 대로 척척 잘 움직여 주는 울 겸댕이들^^ 최곤데? ㅋㅋ

 

 

지난달 마트에서 데려온 기탄수학

 

연산수학으로 집에서 하기에 딱인듯

하루 분량을 정해 주면 정해진 시간에 알아서 한다.

 

기탄국어

영국에서 살다 온지 얼마 안되 영어에 익숙한 아이들이라 무엇보다도 한글, 국어가 절실~

수학책 사면서 요것도 같이 데려와 매일 두장씩  풀고 있다.

처음엔 좀 어려워 하더니 이젠 안물어 보고도 곧 잘 푼다

곧 초등학교에 입학해야 하는 둘찌는 열심히 한글 공부중 ㅎㅎ

 

요건 소마셈

 

영어책 보는중

요즘 epic 이라는 어플에 꽂힌 아이들 

여러종류의 영어책들을 볼수 있는 어플인데 오디오북도 되고 다 읽으면 뱃지도 모을수 있다.

요런 소소한거에 또 좋아라 하는 아이들 ㅎㅎㅎ

 

https://www.getepic.com/app/

 

Instantly access 35,000 high-quality books for kids

Instant access to thousands of great kids books.

www.getepic.com

 

내일은 또 뭘 하지??

 

영어에서 문장은 기본적으로 주어(Subject)동사(Verb)로 이루어진다.

한글과는 다르게 영어는 결과가 먼저오는 형태. ~은...이다.~가...하다 요런식..

그리고 뒤에 동사에 대한 설명들을 붙여나가는 구조. 이게 기본적인 영어 문장의 구조이다.

그래서 영어독해를 할때 이 주어와 동사만 잘 찾아내도 반은 성공 ㅋㅋ

 

ex)  I sing.     

 

I 나는(주어) + sing 노래한다(동사)

 

주어란?

문장에서 주인공!! 주로 ~은,는,이,가 로 해석될수 있다.

 

주어가 될수 있는 것은 명사역할을 하는 아이들 (명사, 대명사, 동명사구, 부정사구, 명사절) 등이 있다.   

여기서 명사역할을 한다는건 문장에서 마치 명사처럼 주어, 목적어, 보어 로 쓰일수 있다 라는 말. 

 

ex) She is a teacher.                           대명사

ex) The blue bus stopped.                   명사구

ex) Learning english is important.          동명사구

ex) To paly game is very fun.                부정사구

ex) What I really need is money.            명사절

 

동사란?

주어의 동작이나 상태를 나타냄. ~이다. ~하다. 가장 중요하고 공부할게 많다는;;

 

여기에 어떤 동사들은 뒤에 목적어(Object)보어(Complement)가 나와줘야 완전한 문장이 되기도 한다.

 

ex) He became a doctor. 

 

He 그는(주어) + became 되었다(동사) + a doctor의사가(보어-주어가 뭐가 되었는지 설명해 주는 주격   보어)

 

ex) I like pizza.                 

 

 I 나는(주어) + like 좋아한다(동사) + pizza 피자를(목적어-무엇을 좋아하는지..)   

 

ex) He left the work unfinished.

 

 He 그는(주어)  left 두었다(동사) the work일을(목적어) unfinished미완성으로(목적격보어-목적어가 어떤   상태인지 설명해주는 목적격보어)

 

목적어란?

동사가 나타내는 동작이나 상태의 대상이 되는 말 ~을,를,에게.

목적어로 쓰일수 있는 아이들 역시 명사 역할을 하는 것들.

명사, 대명사, 동명사구, 부정사구, 명사절

 

ex) He likes basketball.                 명사

ex) Sally met him yesterday.          대명사

ex) She hates waking up early.       동명사구

ex) He wants to meet you again.    부정사구

ex) I think that he is right.             명사절

 

보어란?

주어의 의미나 상태를 설명하는 주격보어가 있고 목적어의 상태나 동작을 설명하는 목적격보어가 있음.

보어로 쓰일수 있는 아이들은 명사역할을 하는 것과 형용사 역할을 하는 것

 

ex) Her sister is a singer.                   명사구

ex) My favorite hobby is cooking.        동명사구 

ex) My dream is to be an actor.           부정사구

ex) The truth is that I love him.            명사절

ex) Tom is sick today.                         형용사

ex) I felt the heart beating wildly.          분사구

 

 

문장=주어+동사+목적어+보어+(수식어)

 

https://www.acmicpc.net/problem/10816

 

10816번: 숫자 카드 2

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이가 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이수도 -10,00

www.acmicpc.net

upper bound와 lower bound을 구해서, "upper bound - lower bound" 하면 해당 검색 값의 개수를 구할 수 있다.

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n,m,a[1000000]={0,},b[1000000]={0,},i,j,l,r,mid,cnt1=0,cnt2=0;
    scanf("%d",&m);

    for(i=0;i<m;i++)
        scanf("%d",&a[i]);
    scanf("%d",&n);
    for(j=0;j<n;j++)
        scanf("%d",&b[j]);

    //printf("222\n");
    sort(a,a+m);

    //printf("3333\n");
    l=0,r=m-1;
    for(j=0;j<n;j++)
    {
        //lower bound
        int lans = 0;
        while(l<=r)
        {
            mid=(l+r)/2;
            if(a[mid]==b[j])
            {
                lans = mid;
                r = mid-1;
            }
            else if(a[mid]>b[j])
                r=mid-1;
            else l=mid+1;

        }
        l=0,r=m-1;
        int uans = 0;
        while(l<=r)
        {
            mid=(l+r)/2;
            if(a[mid]==b[j])
            {
                uans = mid+1;
                l = mid+1;
            }
            else if(a[mid]>b[j])
                r=mid-1;
            else l=mid+1;

        }

        //if(l>r) printf("0 ");
        l=0,r=m-1;
        printf("%d ", uans-lans);
    }

    return 0;
}

'정보올림피아드-KOI > BOJ' 카테고리의 다른 글

부분수열의 합 - 1182  (0) 2020.03.01
랜선 자르기 1654번  (0) 2020.03.01
백준 - 숫자카드 : 10815번  (0) 2020.02.10
백준 : 1로 만들기 1463번  (0) 2020.02.09
백준 - 차이를 최대로 : 10819번  (0) 2020.02.09

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=226&sca=10d0

 

JUNGOL | 함수3 - 자가진단3 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

#include<stdio.h>
int k=0,c=1;
int f(int p)
{
	k=k+c;
	if(c==p)return k;
	c++;
	f(p);
}
int main()
{
	int n,x;
	scanf("%d",&n);
	x=f(n);
	printf("%d ",x);
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

233 : 함수3 - 형성평가3  (0) 2020.03.01
234 : 함수3 - 형성평가4  (0) 2020.03.01
590 : 함수3 - 자가진단4  (0) 2020.02.16
591 : 함수3 - 자가진단5  (0) 2020.02.16
598 : 문자열1 - 자가진단6  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=227&sca=10d0

 

JUNGOL | 함수3 - 자가진단4 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

#include<bits/stdc++.h>
using namespace std;
vector<int> v;
void f(int n, int c)
{
	int i;
	if(v.size()==n){
		for(i=0; i<n; i++){
			printf("%d ",v[i]);
		}
		printf("\n");
		return;
	}
	for(i=c; i<=6; i++){
		v.push_back(i);
		f(n,i);
		v.pop_back();
	}
}
int main()
{
	int n;
	scanf("%d",&n);
	f(n,1);
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

234 : 함수3 - 형성평가4  (0) 2020.03.01
589 : 함수3 - 자가진단3  (0) 2020.02.16
591 : 함수3 - 자가진단5  (0) 2020.02.16
598 : 문자열1 - 자가진단6  (0) 2020.02.16
231 : 함수3 - 형성평가1  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=228&sca=10d0

 

JUNGOL | 함수3 - 자가진단5 > 문제은행

첫 번째 수는 1이고 N번째 수는 (N/2)번째 수(파이썬인경우 N//2번째)와 (N-1)번째 수의 합으로 구성된 수열이 있다. 50 이하의 자연수 N을 입력받아 재귀호출을 이용하여 이 수열에서 N번째 수를 출력하는 프로그램을 작성하시오. (1 2 3 5 7 10 13 18 …)

www.jungol.co.kr

#include<bits/stdc++.h>
int f(int p)
{
	if(p==1)return 1;
	return f(p/2)+f(p-1);
}
int main()
{
	int i,k,n;
	scanf("%d",&n);
	k=f(n);
	printf("%d\n",k);
	return 0;
}

위 코드는 입력 값 n이 커지면, 상당히 느려진다.

그래서 아래와 같이 메모이제이션을 적용하였다.

 

#include<bits/stdc++.h>
int c[1004]={0,};
int f(int p)
{
	if(p==1){
		return 1;
	}
	else if(c[p]!=0){
		return c[p];
	}
	else{
		c[p]=f(p/2)+f(p-1);
	    return c[p];
	}
}
int main()
{
	int i,k,n;
	scanf("%d",&n);
	k=f(n);
	printf("%d\n",k);
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

589 : 함수3 - 자가진단3  (0) 2020.02.16
590 : 함수3 - 자가진단4  (0) 2020.02.16
598 : 문자열1 - 자가진단6  (0) 2020.02.16
231 : 함수3 - 형성평가1  (0) 2020.02.16
232 : 함수3 - 형성평가2  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=235&sca=10e0

 

JUNGOL | 문자열1 - 자가진단6 > 문제은행

문자를 입력받아 알파벳 문자인 경우에는 그대로 출력하고 숫자인 경우는 아스키코드값을 출력하는 작업을 반복하다가 기타의 문자가 입력되면 종료하는 프로그램을 작성하시오. * 입출력예에서 진한글씨가 출력

www.jungol.co.kr

#include<bits/stdc++.h>
using namespace std;

int main()
{
    char n;
    while(1){
        scanf(" %c",&n);
        if(n>='A' && n<='Z'){
            printf("%c \n",n);
        }
        else if(n>='1' && n<='9'){
            printf("%d \n",n);
        }
        else break;
    }
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

590 : 함수3 - 자가진단4  (0) 2020.02.16
591 : 함수3 - 자가진단5  (0) 2020.02.16
231 : 함수3 - 형성평가1  (0) 2020.02.16
232 : 함수3 - 형성평가2  (0) 2020.02.16
579 : 함수2 - 자가진단1  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=131&sca=10d0

 

JUNGOL | 함수3 - 형성평가1 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

#include <bits/stdc++.h>
using namespace std;
/*
함수3 - 형성평가1
자연수 N을 입력받아 1부터 N까지 출력을 하되 n-1번째 값은 n번째 값을 2로 나눈 몫이 되도록 하는 프로그램을 작성하시오.
*/
void f(int n){
    if(n == 0) return;
    f(n/2);
    printf("%d ", n);
}

int main()
{
    int n;
    scanf("%d", &n);
    f(n);
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

591 : 함수3 - 자가진단5  (0) 2020.02.16
598 : 문자열1 - 자가진단6  (0) 2020.02.16
232 : 함수3 - 형성평가2  (0) 2020.02.16
579 : 함수2 - 자가진단1  (0) 2020.02.16
174 : 함수1 - 형성평가5  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=132&sca=10d0

 

JUNGOL | 함수3 - 형성평가2 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

#include <bits/stdc++.h>
using namespace std;
/*
함수3 - 형성평가2
자연수 N을 입력받아 N이 홀수인 경우에는 1부터 N까지의 홀수를  짝수인 경우는 2부터 N까지의 짝수를 모두 출력하는 프로그램을 재귀함수로 작성하시오.
*/
void f(int n){
    if(n == 1 || n == 2){
        printf("%d ", n);
        return;
    }
    f(n-2);
    printf("%d ", n);
}

int main()
{
    int n;
    scanf("%d", &n);
    f(n);
    return 0;
}


'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

598 : 문자열1 - 자가진단6  (0) 2020.02.16
231 : 함수3 - 형성평가1  (0) 2020.02.16
579 : 함수2 - 자가진단1  (0) 2020.02.16
174 : 함수1 - 형성평가5  (0) 2020.02.16
173 : 함수1 - 형성평가4  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=216&sca=10c0

 

JUNGOL | 함수2 - 자가진단1 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

선택 정렬 사용해서 풀기,

가장 작은 값을 찾아서, 제일 오른쪽 끝으로 옮기는 방식으로 해결

 

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 자가진단 1
*/

void f(int a[], int n){ //int *b
    //내림차순

    int min;
    for(int i=0;i<n;i++)
    {
        min = 99;
        int min_idx = 0;
        for(int j=0;j<n-i;j++){
          if(min>a[j]){
            min=a[j];
            min_idx = j;
          }
        }
        int temp= a[min_idx];
        a[min_idx] = a[n-i-1];
        a[n-i-1] = temp;
    }
}

int main()
{
    int a[10];
    int n;
    scanf("%d",&n);

    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }

    f(a, n);  //배열의 이름은 배열의 시작 주소다.ㅁ

    for(int i=0;i<n;i++){
        printf("%d ", a[i]);
    }

    return 0;
}

 

위 코드에서  swap() 함수를 사용한 것으로 개선

https://en.cppreference.com/w/cpp/algorithm/swap

불러오는 중입니다...
#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 자가진단1
*/

void f(int a[], int n){ //int *b
    //내림차순

    int min;
    for(int i=0;i<n;i++)
    {
        min = 99;
        int min_idx = 0;
        for(int j=0;j<n-i;j++){
          if(min>a[j]){
            min=a[j];
            min_idx = j;
          }
        }
        /*
        int temp= a[min_idx];
        a[min_idx] = a[n-i-1];
        a[n-i-1] = temp;
        */
        swap(a[min_idx], a[n-i-1]);

    }
}

int main()
{
    int a[10];
    int n;
    scanf("%d",&n);

    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }

    f(a, n);  //배열의 이름은 배열의 시작 주소다.ㅁ

    for(int i=0;i<n;i++){
        printf("%d ", a[i]);
    }

    return 0;
}

 

 

선택 정렬 사용해서 풀기 2,

가장 큰 값을 찾아서, 제일 왼쪽 끝으로 옮기는 방식으로 해결

 

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 자가진단1
*/

void f(int a[], int n){ //int *b
    //내림차순

    int max;
    for(int i=0;i<n;i++)
    {
        max = -1000;
        int max_idx = 0;
        for(int j=i;j<n;j++){
          if(max<a[j]){
            max=a[j];
            max_idx = j;
          }
        }
        /*
        int temp= a[min_idx];
        a[min_idx] = a[n-i-1];
        a[n-i-1] = temp;
        */
        swap(a[max_idx], a[i]);

    }
}

int main()
{
    int a[10];
    int n;
    scanf("%d",&n);

    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }

    f(a, n);  //배열의 이름은 배열의 시작 주소다.ㅁ

    for(int i=0;i<n;i++){
        printf("%d ", a[i]);
    }

    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

231 : 함수3 - 형성평가1  (0) 2020.02.16
232 : 함수3 - 형성평가2  (0) 2020.02.16
174 : 함수1 - 형성평가5  (0) 2020.02.16
173 : 함수1 - 형성평가4  (0) 2020.02.16
172 : 함수1 - 형성평가3  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=74&sca=10b0

 

JUNGOL | 함수1 - 형성평가5 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가4
*/

void f(void){
    int n;
    int a,b,c;
    for(int i=0;i<3;i++){
        //for(int j=0;j<3;j++){
            scanf("%d %d %d",&a,&b,&c);
            n=a+b+c;
            printf("%d %d %d %d \n",a,b,c,n);
        //}
        printf("\n");
    }
}

int main()
{


    f();

    return 0;
}

 

2번째 방법

3과목 점수도  for문을 사용해서 입력 받기

 

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가4
*/

void f(void){
    int n=0;
    int a,b,c;
    for(int i=0;i<3;i++){
        n=0;
        for(int j=0;j<3;j++){
            scanf("%d",&a);
            printf("%d-",a);
            n+=a;
        }

        printf("%d \n",n);

    }
}

int main()
{


    f();

    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

232 : 함수3 - 형성평가2  (0) 2020.02.16
579 : 함수2 - 자가진단1  (0) 2020.02.16
173 : 함수1 - 형성평가4  (0) 2020.02.16
172 : 함수1 - 형성평가3  (0) 2020.02.16
함수3 - 자가진단2  (0) 2020.02.09

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=73&sca=10b0

 

JUNGOL | 함수1 - 형성평가4 > 문제은행

두 개의 음이 아닌 정수를 입력받아 큰 수의 제곱에서 작은 수의 제곱을 뺀 결과값을  출력하는 프로그램을 작성하시오. (두 정수를 전달받아 제곱의 차를 리턴하는 함수를 이용할 것)

www.jungol.co.kr

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가4
*/

int f(int a,int b){
    if(a>b){
        return (a*a)-(b*b);
    }
    else{
        return (b*b)-(a*a);
    }
}

int main()
{
    int a,b;

    scanf("%d %d",&a,&b);

    printf("%d ",f(a,b));

    return 0;
}

 

 

abs()함수 사용을 개선

https://en.cppreference.com/w/cpp/numeric/math/abs

 

std::abs, std::labs, std::llabs, std::imaxabs - cppreference.com

int       abs( int n ); long      abs( long n ); long long abs( long long n ); (since C++11) long       labs( long n ); long long llabs( long long n ); (since C++11) (since C++11) (since C++11) Computes the absolute value of an integer number. The behavior

en.cppreference.com

 

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가4
*/

int f(int a,int b){
    /*
    if(a>b){
        return (a*a)-(b*b);
    }
    else{
        return (b*b)-(a*a);
    }
    */
    return abs((a*a)-(b*b));

}

int main()
{
    int a,b;

    scanf("%d %d",&a,&b);

    printf("%d ",f(a,b));

    return 0;
}

 

 

pow()함수 사용을 추가 개선

https://en.cppreference.com/w/cpp/numeric/math/pow

 

std::pow, std::powf, std::powl - cppreference.com

(1) float       pow ( float base, float exp ); float       powf( float base, float exp ); (since C++11) double      pow ( double base, double exp ); (2) (3) long double pow ( long double base, long double exp ); long double powl( long double base, long dou

en.cppreference.com

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가4
*/

int f(int a,int b){
    /*
    if(a>b){
        return (a*a)-(b*b);
    }
    else{
        return (b*b)-(a*a);
    }
    */
    return abs(pow(a,2)-pow(b,2));

}

int main()
{
    int a,b;

    scanf("%d %d",&a,&b);

    printf("%d ",f(a,b));

    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

579 : 함수2 - 자가진단1  (0) 2020.02.16
174 : 함수1 - 형성평가5  (0) 2020.02.16
172 : 함수1 - 형성평가3  (0) 2020.02.16
함수3 - 자가진단2  (0) 2020.02.09
함수3 - 자가진단1  (0) 2020.02.09

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=72&sca=10b0

 

JUNGOL | 함수1 - 형성평가3 > 문제은행

자연수를 입력받아 아래와 같은 사각형을 출력하는 프로그램을 작성하시오. 주어지는 수는 100이하의 자연수이다. (함수를 작성하시오.)

www.jungol.co.kr

 

 

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가3
*/

void f(int n){
    int i,j;
    for(i=1;i<=n;i++){
        for(j=i;j<=i*n;j=j+i){
            printf("%3d ",j);
        }
        printf("\n");
    }
}

int main()
{
    int i,j, n;

    scanf("%d",&n);

    f(n);
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

174 : 함수1 - 형성평가5  (0) 2020.02.16
173 : 함수1 - 형성평가4  (0) 2020.02.16
함수3 - 자가진단2  (0) 2020.02.09
함수3 - 자가진단1  (0) 2020.02.09
함수2 - 형성평가7  (0) 2020.02.09

https://www.acmicpc.net/problem/10815

 

10815번: 숫자 카드

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이가 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 두 숫자 카드에 같은 수가 적혀있는 경우는 없다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 가지고 있는 숫자 카드인지 아닌지를 구해야 할 M개의 정수가 주어지며, 이

www.acmicpc.net

 

 

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n,m,a[1000000]={0,},b[1000000]={0,},i,j,l,r,mid;
    scanf("%d",&m);

    for(i=0;i<m;i++)
        scanf("%d",&a[i]);
    
    scanf("%d",&n);
    for(j=0;j<n;j++)
        scanf("%d",&b[j]);

    //printf("222\n");
    sort(a,a+m);

    //printf("3333\n");
    l=0,r=m-1;
    for(j=0;j<n;j++)
    {
        while(l<=r)
        {
            mid=(l+r)/2;
            if(a[mid]==b[j])
            {
                printf("1 ");
                break;
            }
            else if(a[mid]>b[j])
                r=mid-1;
            else l=mid+1;

        }
        if(l>r) printf("0 ");
        l=0,r=m-1;
    }

    return 0;
}

잠열 : 온도 변화 없음. 상태는 변함  

현열 : 온도 변화 있음. 상태는 안변함

 

열용량 : Kcal/deg C

- 비열이 클수록 열용량이 크다. 열용량이 클수록, 온도를 잡아둘 수 있는 시간이 크다.

 

현열교환이 있어서, 열용량이 클수록 좋다. (비열이 클수록 좋다.)

잠열교환에서는, 열용량이 작을수록 좋다. (비열이 작을수록 좋다.)

 

물의 증발잠열(응축잠열) : 539kcal/kg

얼음의 융해잠열(응고잠열) : 79.68kcal/kg 

 

현열 : Q=GCdT

잠열 : Q=Gr

 

Q: 열량 (kcal)

G: 중량 (Kg)

C: 비열 (kcal/kg*degC)

dT: 온도차 degC

r : 잠열 (kcal/kg)

https://www.acmicpc.net/problem/1463

 

1463번: 1로 만들기

첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.

www.acmicpc.net

 

 

#include <bits/stdc++.h>
using namespace std;

int main()
{
    long long int n,a[1000001]={0,},i;
    scanf("%lld",&n);

    for(i=2;i<=n;i++)
    {
        a[i]=a[i-1]+1;
        if(i%2==0 && a[i] > a[i/2] + 1)
            a[i] = a[i/2] + 1;
        if(i%3==0 && a[i] > a[i/3] + 1)
            a[i] = a[i/3] + 1;
    }

    /*
    for(i=1; i<=n; i++)
        printf("%lld : %lld  \n",i, a[i]);
        */
    printf("%d", a[n]);
    return 0;
}

https://www.acmicpc.net/problem/10819

 

10819번: 차이를 최대로

첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.

www.acmicpc.net

 

 

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n,a[1000000]={0,},max1=0,i,tmp=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        scanf("%d",&a[i]);
    sort(a+1,a+n+1);
    do
    {
        for(i=1;i<=n-1;i++)
        {
            tmp+=abs(a[i]-a[i+1]);
            if(max1<tmp)
            {
                max1=tmp;
            }
        }
        tmp=0;
    }while(next_permutation(a+1,a+n+1));
    printf("%d",max1);
    return 0;
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=225&sca=10d0

 

JUNGOL | 함수3 - 자가진단2 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

#include <bits/stdc++.h>
using namespace std;
/*
함수3 - 자가진단2
자연수 N을 입력받아 재귀함수를 이용하여 N부터 1까지 차례대로 출력하는 프로그램을 작성하시오.
N은 50이하의 자연수이다.

입력 예
5
출력 예
5 4 3 2 1
*/
void re(int p)
{
    printf("%d \n",p);
    if(p==1)return ;
    p--;
    re(p);
}

int main()
{
    int n;
    scanf("%d",&n);
    re(n);
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

173 : 함수1 - 형성평가4  (0) 2020.02.16
172 : 함수1 - 형성평가3  (0) 2020.02.16
함수3 - 자가진단1  (0) 2020.02.09
함수2 - 형성평가7  (0) 2020.02.09
함수2 - 형성평가6  (0) 2020.02.09

+ Recent posts