<위키백과>에서 스도쿠를 검색하면 다음과 같이 설명을 하고 있다.

스도쿠는 18세기 스위스 수학자 레온하르트 오일러가 창안한 Latin Square 를 기반으로 하여 1979년 당시 74세의 건축가였던 미국의 Howard Garns가 현재의 모습으로 변형하여 1979년 5월 미국의 '델 매거진즈'(Dell Magazines)가 잡지 《Dell Pencil Puzzles & Word Games》에 "Number Place"로 소개된 것이 시초이나, 1984년 4월 일본의 출판사인 '니코리'(ニコリ, Nikoli)가 출판한 잡지 《퍼즐 통신 니코리》(パズル通信ニコリ)[2]에 '스도쿠'라는 이름을 붙여 수록하면서 대중에게 보급되기 시작하여 2005년 무렵에 이르러 온 세계로 퍼져 나갔다.

 

이러한 스도쿠는 다음과 같은 규칙에 의해서 9*9칸의 퍼즐을 채워넣는다.

(1) 각각의 가로줄과 세로줄에는 1부터 9까지의 숫자가 한 번씩만 나타나야 한다.

(2) 굵은 선으로 구분되어 있는 3x3 정사각형 안에도 1부터 9까지의 숫자가 한 번씩만 나타나야 한다.

 

이러한 규칙을 이용해서 위의 빈칸을 채워 넣으시오.

 

정답)

위와 같은 문제를 풀때 한줄,혹은 한열, 또는 3*3 에서 1개 짜리를 먼저 채워주는 방법으로 하나씩 채워 주면 좀 더 효율적으로 채울 수 있다.

 

컴퓨팅사고력

스도쿠 문제와 같은 경우 컴퓨팅 과학에서는 자료구조의 이차원 배열을 생각 할 수 있다.

행과 열의 위치를 판단하는 방법을 확인하고 비어 있는 칸에 1~9까지 순차적으로 넣어 볼 수 있다.

또한 알고리즘 측면으로는 백트래킹 기법을 활용하여 풀수가 있는데 처음 만나는 빈칸에서 1부터 ~ 9 까지 넣을 수 있는지 하나씩 체크 하면서 넣을 수 있다고 하면 그 수를 넣어 보고 다음 빈칸을 찾아 떠난다.

그 다음 빈칸에서 1부터 9까지 넣을 수가 없다고 하면 다시 되돌아 와서 그 다음 수를 넣어 보는 방식으로 모든 경우를 다 계산해 보는 방법이 백트래킹 방법이며 C언어로 소스코드를 구현해 본다고 하면 다음과 같은 형식으로 구현이 가능하다.

bool check(int y,int x,int num)
{
    for(int i=0;i<9;i++)
    {
        if(num==arr[y][i]) return false; //같은행에 같은 숫자가 있다.
        if(num==arr[i][x]) return false; //같은열에 같은 숫자가 있다.
    }
    int num2=(y/3)*3; //3*3의 시작 위치를 구하기 위해 큰 블럭으로 나누자.
    int num1=(x/3)*3;
    for(int i=num2;i<num2+3;i++)
    {
        for(int j=num1;j<num1+3;j++)
        {
            if(num==arr[i][j]) return false; //3*3 구간안에 같은 숫자가 있다
        }
    }
    return true;
}

bool sdoku(int y,int x)
{
 
   if(x>=9)
   {
      y++;
      x=0;
   }
   if(y>=9)
   {
      ///sucess 출력한다.
      return true;
   }
   if(arr[y][x]) return stoku(y,x+1); //빈칸이 아니면 다음으로 진행
 
   for(int i=1;i<=9;i++) //1~9까지 숫자를 넣어 보자.
   {
      if(check(y,x,i)==false) continue; ///i를 놓지 못하면 다음 수로 바꾸자.
      arr[y][x]=i;
      if(sdoku(y,x+1) ==true) return true; ///만약 끝까지 모두 놓았다면 더 이상 진행하지 말자. 
      arr[y][x]=0;
   }
   return false;
 
}

 

[인천 서구 원당컴퓨터학원]

원당컴퓨터학원에서는?

1. 4차 산업 시대의 흐름은 컴퓨터를 얼마나 이해하느냐에 따라 삶의 질이 틀려 질 수 있다는 것을 항상 염두에 두고 있습니다.

2. 알고리즘은 프로그래밍의 근원이 되는 문제해결 능력이며, 머신러닝은 IoT등에 의해 모여진 데이터를 활용하는 기법입니다.

3. 이에 따라 초,중,고 학생들이 알기 쉽게 이해하는 인공지능 부터 알고리즘까지 학생들의 실력에 맞춰 수업을 진행중에 있습니다.

4. 현재 초등학생이 고등학생이 되는 때에는 고교학점제 도입에 따라 자신이 전공하고자 하는 특기가 크게 부각 될것입니다.

5. IT 업체중 규모가 큰 곳에서는 코딩테스트(알고리즘테스트)로 블라인드 면접을 수행하는곳이 늘고 있습니다.

6. 미래 IT를 꿈꾸는 학생들의 산실이 되기 위해 항상 최선을 다하는 원당컴퓨터학원이 되겠습니다.

 

※ 정보영재 혹은 인공지능 관련 수업에 관해 궁금하신 분은 문의(032-565-5497) 주세요.

 

 

원당컴퓨터학원 커리큘럼

- OA : 학교 수행 평가에 꼭 필요한 컴퓨터 활용능력 향상

- IT 자격증 과정 : 취업대비,대학생인증제,승진을 위한 국가공인 자격증 취득과정

- 정보영재 : 정보올림피아드 및 알고리즘 대회/소프트웨어특기자전형/디미고 특별전형 대비/코딩테스트 대비를 위한 알고리즘 과정

- 프로젝트반 : 응용프로그래밍/웹프로그래밍/앱프로그래밍 등을 통해 직접 만들어 보면서 컴퓨터 프로그래밍 이해(소프트웨어 학생부종합전형/특성화고(디미고,선린고등) 특별전형대비)

- 인공지능 : 인공지능의 이해 및 실습을 통해 빅데이터 가공(4차 산업 시대의 축이 되는 인공지능 시대를 대비)

- 일반고,과고,영재고,특성화고,컴퓨터학과(SW) 대학생을 위한 내신대비 : python,java,c++,자료구조,알고리즘,이산수학 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기
  1. Favicon of https://lsmpkt.tistory.com BlogIcon 가족바라기 2021.10.15 12:21 신고

    스도쿠 좋아하는데 풀면 시간가는줄 모르죠

  2. 추억거리 2021.10.15 14:00

    이건 울딸이 엄청 좋아는 거네요
    사고적으로 참 좋은 것 같아요

  3. Favicon of https://kbh6628.tistory.com BlogIcon 청산사랑 2021.10.15 15:09 신고

    좋은정보 포스팅 잘보았습니다
    많은 것, 너무 큰것, 욕심내지 말고
    내게 주어진 하루 만큼만
    소중히 여기고 이쁘게 채워가는
    오늘 하루가 되었으면 합니다.

  4. Favicon of https://invitetour.tistory.com BlogIcon 휴식같은 친구 2021.10.15 18:55 신고

    옛날에 많이 해보던 게임이네요.
    코딩으로 간단히 해결할수 있군요.

  5. 핑구야날자 2021.10.16 06:38

    스토쿠 게임은 시간 가는 줄 모르고 하게 되더라고요

  6. Favicon of http://pangyione.com/ BlogIcon 청결원 2021.10.16 07:27

    포스팅 잘 보고 가네요
    즐거운 주말 보내세요~

  7. Favicon of https://arimarim.tistory.com BlogIcon 사랑스love 2021.10.16 08:47 신고

    오~ 2005년에 전세계로 퍼져나갔군요!!

  8. Deborah 2021.10.16 09:02

    오. 저도 스도쿠 해봤어요.

  9. Favicon of https://xuronghao.tistory.com BlogIcon 空空(공공) 2021.10.16 09:19 신고

    이런 게임 자주 하면 사고력 향상에 도움이 많이 되겠습니다

원당이는 다음과 같이 1 부터 32까지 적힌 투명띠를 가지고 있다.

이 투명띠를 왼쪽으로 절반씩 접어서 한개짜리 사각형으로 만들려고 한다.

즉 한번을 접게 되면 1~16이 아래에 있고 32~17이 위에 있게 된다.

이 투명띠는 고무줄과 같이 탄성이 좋아서 접히는 위치는 접히는 횟수의 높이에 관계 없이 정확히 접힌다고 가정하자.

1) 몇번만 접으면 한개의 사각형으로 만들 수 있겠는가?

2) 맨 위에 적힌 번호는 무엇인가?

 

 

[문제풀이]

맨아래/ 맨위 로 표현을 해 보면 다음과 같은 순서로 나타날 것이다.

1단계) 1~16/32~17

2단계) 1~8/16~9

3단계) 1~4/8~5

4단계) 1~2/4~3

5단계) 1~1/2~2

 

즉 5번이면 한개의 사각형을 만들 수 있고 맨 위에 적힌 번호는 2이다.

 

컴퓨팅 사고력

이 문제는 컴퓨팅 사고력에서 이진탐색의 원리에 대해 고민 할 수 있는 문제이다.

1~32 까지의 데이터가 있다고 하면 순차적으로 검색을 하게 되면 최악의 검색 조건으로 32를 찾는 경우 32번을 검색해야 결과값을 얻을 수 있지만~

우리가 사전에서 단어를 찾을때 절반의 위치를 먼저 찾아 보고 내가 찾으려고 하는 단어가 앞쪽에 있는지 뒷쪽에 있는지 확인 하여 절반씩을 버리면서 찾는 방법이 이진탐색이다.

절반 위치 16번째를 검색해서 16번째가 내가 찾는 값이라면 성공,내가 찾는 값이 앞쪽에 있다고 하면 뒤에 17~32 를 버리고 1~15번째에서 찾는 방법으로 절반씩 버리면서 찾는다면 최악의 조건으로 5번 만에 찾을 수 있다.

 

이렇게 이진탐색을 하게 되면 찾는 횟수는 log2N 의 횟수만에 검색이 가능한데 이것은 2N  의 갯수에서 절반씩 나누게 되므로 이 N의 수를 찾는 로그 함수의 횟수가 같아지는 것을 알 수 있다.

따라서 우리나라 전체 인구수 5000만명이라고 하면 5000만명 안에 나라는 사람의 주민번호를 찾기 위해서는 이진탐색을 활용한다고 하면 26번 안에 찾을 수 있다.(2^26 = 67108864)

단. 이진탐색을 활용하기 위해서는 자료가 모두 순서대로 정렬이 되어 있어야 한다는 조건이 필요하다.

 

[인천 서구 원당컴퓨터학원]

원당컴퓨터학원에서는?

1. 4차 산업 시대의 흐름은 컴퓨터를 얼마나 이해하느냐에 따라 삶의 질이 틀려 질 수 있다는 것을 항상 염두에 두고 있습니다.

2. 알고리즘은 프로그래밍의 근원이 되는 문제해결 능력이며, 머신러닝은 IoT등에 의해 모여진 데이터를 활용하는 기법입니다.

3. 이에 따라 초,중,고 학생들이 알기 쉽게 이해하는 인공지능 부터 알고리즘까지 학생들의 실력에 맞춰 수업을 진행중에 있습니다.

4. 현재 초등학생이 고등학생이 되는 때에는 고교학점제 도입에 따라 자신이 전공하고자 하는 특기가 크게 부각 될것입니다.

5. IT 업체중 규모가 큰 곳에서는 코딩테스트(알고리즘테스트)로 블라인드 면접을 수행하는곳이 늘고 있습니다.

6. 미래 IT를 꿈꾸는 학생들의 산실이 되기 위해 항상 최선을 다하는 원당컴퓨터학원이 되겠습니다.

 

※ 정보영재 혹은 인공지능 관련 수업에 관해 궁금하신 분은 문의(032-565-5497) 주세요.

 

 

원당컴퓨터학원 커리큘럼

- OA : 학교 수행 평가에 꼭 필요한 컴퓨터 활용능력 향상

- IT 자격증 과정 : 취업대비,대학생인증제,승진을 위한 국가공인 자격증 취득과정

- 정보영재 : 정보올림피아드 및 알고리즘 대회/소프트웨어특기자전형/디미고 특별전형 대비/코딩테스트 대비를 위한 알고리즘 과정

- 프로젝트반 : 응용프로그래밍/웹프로그래밍/앱프로그래밍 등을 통해 직접 만들어 보면서 컴퓨터 프로그래밍 이해(소프트웨어 학생부종합전형/특성화고(디미고,선린고등) 특별전형대비)

- 인공지능 : 인공지능의 이해 및 실습을 통해 빅데이터 가공(4차 산업 시대의 축이 되는 인공지능 시대를 대비)

- 일반고,과고,영재고,특성화고,컴퓨터학과(SW) 대학생을 위한 내신대비 : python,java,c++,자료구조,알고리즘,이산수학 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기
  1. Favicon of https://jsalang.tistory.com BlogIcon 추억거리 2021.10.12 08:53 신고

    전 어렵네요
    역시 컴퓨터언어는 어려운것같아요

  2. Favicon of https://invitetour.tistory.com BlogIcon 휴식같은 친구 2021.10.12 09:35 신고

    이진탐색에 대해서 잘 보고 갑니다.
    즐거운 하루 보내세요.

  3. Favicon of https://itadventure.tistory.com BlogIcon CrayFall 2021.10.12 19:13 신고

    처음 내용을 보고 알고리즘 풀이 문제인줄 알았습니다 ㅎㅎ 잘 보고 갑니다~

  4. Favicon of https://arimarim.tistory.com BlogIcon 사랑스love 2021.10.13 03:49 신고

    공부할게 정말 많네요~
    잘 보고 갑니다 :)

  5. Favicon of https://heysukim114.tistory.com BlogIcon *저녁노을* 2021.10.14 04:42 신고

    저도 어렵ㄴㅔ요.ㅎㅎ

다음과 같이 2 * 10 크기의 벽이 있는데 원당이는 1*2 짜리 타일 10개를 벽에 붙여야 합니다.

원당이는 갑자기 이 타일을 동일한 모양이 아니고 세우거나 눕히거나 해서 붙이는 경우의 수가 궁금해 졌습니다.

만약 2 * 1 짜리 벽이라면 다음과 같이 세워서 붙이는 경우 한가지 밖에 없습니다.

하지만 2*2짜리 벽이라면 다음과 같이 2가지 경우의 수가 생깁니다.

두개를 세로로 세우는 경우와 가로로 눕히는 경우

그렇다면 원당이를 도와서 2*10크기의 벽에 1*2짜리 타일 10개를 벽에 붙이는 경우의 수를 여러분이 구해 주세요.

 

 

[문제풀이]

1단계) 2*1짜리 벽이라고 하면 세로로 세울 수 있는 경우의 수 1가지

2단계) 2*2짜리 벽이라고 하면 2*1짜리 벽에 2*1짜리 벽이 더 추가 되는 개념이므로 2*1짜리에 세워서 놓는 경우의 수 1가지 + 2*0 짜리 벽에 두개를 가로로 눕혀서 놓는 경우 1가지 = 2가지

 

3단계) 2*3짜리 벽이라고 하면 2*2짜리 벽에 세로로 세울 수 있는 경우가 있으므로 2*2짜리 놓는 경우의 수 2가지 + 2*1짜리 벽에 두개를 가로로 눕혀서 놓는 경우 1가지 = 3가지

위의 붉은 색은 2개짜리 경우이므로 2가지 아래 붉은색은 1개짜리이므로 1가지

이렇게 작은 단위로 쪼개어서 생각하면 2*4 짜리는 2*3짜리 만드는 경우와 2*2짜리 만드는 경우의 합이라는 것을 알 수 있다.

이것을 표를 그려 보면 다음과 같이 만들 수 있다.

따라서 정답은 89 가지

이 문제를 분석 해 보면 피보나치 수열이 됨을 확인 할 수 있다.

 

컴퓨팅 사고력

수학과 컴퓨터과학에서 동적계획법(Dynamic Algorithm) 또는 점화식이라고 표현하는 풀이 방법이 있습니다.

이러한 동적계획법은 위키백과 설명에 따르면 다음과 같이 정의 되어 있습니다.

동적계획법은 문제를 여러개의 하위문제로 나누어 푼 다음 그것을 결합하여 최종적인 목적에 도달하는 것이다.

 

위의 문제를 예로 들어 보면 가장

최소 단위로 2*0짜리를 만드는 경우의 수 1 ,2*1짜리를 만드는 경우의 수 1

위의 두개를 이용해서 2*2짜리 만드는 규칙이 2*0 에서 1가지가 나오는 것이고 2*1 에서 1가지가 나오는 규칙을 찾아 그 규칙을 이용해서 최종적인 목적에 도달하게 됩니다.

 

위와 같이 어떤 문제를 쪼개어서 더 쪼갤수 없는 단위까지 쪼갠 다음 그 다음 것이 만들어 지는 원리를 파악해서 그것을 부분문제 반복과 최적 반복 구조를 이용하여 풀어 나가는 원리가 동적계획법입니다.

 

[인천 서구 원당컴퓨터학원]

 

 

 

원당컴퓨터학원에서는?

1. 4차 산업 시대의 흐름은 컴퓨터를 얼마나 이해하느냐에 따라 삶의 질이 틀려 질 수 있다는 것을 항상 염두에 두고 있습니다.

2. 알고리즘은 프로그래밍의 근원이 되는 문제해결 능력이며, 머신러닝은 IoT등에 의해 모여진 데이터를 활용하는 기법입니다.

3. 이에 따라 초,중,고 학생들이 알기 쉽게 이해하는 인공지능 부터 알고리즘까지 학생들의 실력에 맞춰 수업을 진행중에 있습니다.

4. 현재 초등학생이 고등학생이 되는 때에는 고교학점제 도입에 따라 자신이 전공하고자 하는 특기가 크게 부각 될것입니다.

5. IT 업체중 규모가 큰 곳에서는 코딩테스트(알고리즘테스트)로 블라인드 면접을 수행하는곳이 늘고 있습니다.

6. 미래 IT를 꿈꾸는 학생들의 산실이 되기 위해 항상 최선을 다하는 원당컴퓨터학원이 되겠습니다.

 

※ 정보영재 혹은 인공지능 관련 수업에 관해 궁금하신 분은 문의(032-565-5497) 주세요.

 

 

원당컴퓨터학원 커리큘럼

- OA : 학교 수행 평가에 꼭 필요한 컴퓨터 활용능력 향상

- IT 자격증 과정 : 취업대비,대학생인증제,승진을 위한 국가공인 자격증 취득과정

- 정보영재 : 정보올림피아드 및 알고리즘 대회/소프트웨어특기자전형/디미고 특별전형 대비/코딩테스트 대비를 위한 알고리즘 과정

- 프로젝트반 : 응용프로그래밍/웹프로그래밍/앱프로그래밍 등을 통해 직접 만들어 보면서 컴퓨터 프로그래밍 이해(소프트웨어 학생부종합전형/특성화고(디미고,선린고등) 특별전형대비)

- 인공지능 : 인공지능의 이해 및 실습을 통해 빅데이터 가공(4차 산업 시대의 축이 되는 인공지능 시대를 대비)

- 일반고,과고,영재고,특성화고,컴퓨터학과(SW) 대학생을 위한 내신대비 : python,java,c++,자료구조,알고리즘,이산수학 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기
  1. Favicon of https://invitetour.tistory.com BlogIcon 휴식같은 친구 2021.10.01 15:34 신고

    사고력 키우기에 좋은 문제네요.

  2. Favicon of https://arimarim.tistory.com BlogIcon 사랑스love 2021.10.01 21:43 신고

    문제 잘 쳐다 보고 갑니당 ㅎㅎ :)

  3. Favicon of https://dragonphoto.tistory.com BlogIcon 드래곤포토 2021.10.02 00:09 신고

    머리써야 겠네요
    즐거운 주말 보내세요

  4. 핑구야날자 2021.10.02 06:39

    재미있게 문제를 풀다 보면 실력이 늦겠네요

  5. Favicon of http://pangyione.com/ BlogIcon 청결원 2021.10.02 07:25

    포스팅 잘 보고 가네요
    주말 즐겁게 보내세요~

  6. Favicon of https://xuronghao.tistory.com BlogIcon 空空(공공) 2021.10.02 07:33 신고

    사고력을 키우는 문제로군요^^

  7. Favicon of https://kbh6628.tistory.com BlogIcon 청산사랑 2021.10.03 15:18 신고

    좋은정보 포스팅 잘보았습니다
    들판가득 피어난 코스모스와 파란하늘
    만끽하시면서 여유로운 주말
    보내시길 바랍니다^^

  8. Favicon of https://itadventure.tistory.com BlogIcon CrayFall 2021.10.04 17:38 신고

    멋진 문제 풀이잘 보고 갑니다 :)

  9. Favicon of https://lsmpkt.tistory.com BlogIcon 가족바라기 2021.10.05 23:11 신고

    사고력을 요하는 문제 재미있어요

위의 그림과 같이 x1,y1,r1/ x2,y2,r2 가 주어진 경우 겹치는 영역의 넓이를 구하는 방법에 대해 살펴 보도록 하겠습니다.

두 원의 중심과 중심 사이의 거리 d는 피타고라스의 정리에 의해서 

d * d = (x1-x2) * (x1-x2) + (y1-y2)*(y1-y2) 가 됩니다.

여기서 부채꼴의 넓이를 구하는 공식을 살펴 보자.

S(부채꼴의 넓이) = πr2 * x/360 으로 구할 수 있다.

각도를 θ/2π 와 같이 나타낼 수 있으므로

S(부채꼴의 넓이) = πr2 * θ/2π  -------------(1)

여기서 겹치는 영역의 값을 구한다고 하면 다음과 같이 구할 수 있다.

S1(부채꼴 1의 넓이) + S2(부채꼴 2의 넓이)를 먼저 구한다. 

그러면 우리가 구하려고 하는 겹치는 영역의 넓이가 2번 포함된 부채꼴의 합이 된다.

이렇게 구한후 위의 그림과 같이 삼각형 2개의 넓이를 빼 주게 되면 겹치는 영역의 넓이만 남게 된다.

이등변 삼각형의 넓이를 각도를 이용해서 구하는 방법을 살펴 보면 다음과 같다.

 

이 원리에 의해서 

a = c * sinA

b= c*cosA

이므로 

이러한 이등변 삼각형의 넓이를 구하는 방법에 대해 생각해 보자.

θ 를 정확히 2등분하면 θ/2 가 되며 직각이 된다.

여기서 cos(θ/2) = 높이/r 이 된다.

따라서 높이 = r * cos(θ/2) 

sin(θ/2) = (밑변/2)/r 로 나눈 값이므로

밑변 = r * sin(θ/2) * 2

따라서 삼각형의 넓이 =  높이 * 밑변 / 2이므로

r * cos(θ/2) * r * sin(θ/2) * 2 / 2

이렇게 나온것을

삼각함수의 성질

sinθ1cosθ2 = (sin(θ1+θ2) +sin(θ1-θ2))/2

θ1 == θ2 이므로

sin(θ/2)cos(θ/2) = (sin(θ) + sin(0))/2 = sin(θ)/2 로 간소화 할 수 있다.

따라서 r * cos(θ/2) * r * sin(θ/2) * 2 / 2 = r * r * sin(θ/2 * 2)/2 = r * r * sin(θ)/2 

삼각형 면적은 r * r * sin(θ)/2  -------------(2)

이렇게 하면 각도 θ 만 구하면 위의 식에 의해서 겹치는 부분의 면적을 구할 수 있다.

 

다음으로 각도를 구하기 위해 코사인 법칙을 살펴 보자.

참고 : https://ko.wikipedia.org/wiki/%EC%BD%94%EC%82%AC%EC%9D%B8_%EB%B2%95%EC%B9%99

 

코사인 법칙 - 위키백과, 우리 모두의 백과사전

기하학에서, 코사인 법칙(cosine法則, 영어: law of cosines)은 삼각형의 세 변과 한 각의 코사인 사이에 성립하는 정리이다. 이에 따르면, 삼각형의 두 변의 제곱합에서 사잇각의 코사인과 그 두 변의

ko.wikipedia.org

a2 = b2 + c2 - 2bc(cosA)

cosA = (b2+c2-a2)/2bc

와 같이 나타낼 수 있으므로 다음과 같은 형식으로 왼쪽 원 θ1 를 구할 수 있다.

cos(θ1/2) = (r12 + d2 - r22)/(2*r1*d)

θ1/2 = cos^-1 * ((r1^2 + d^2 - r2^2)/(2*r1*d))

오른쪽 원 θ2는 같은 방법으로

cos(θ2/2) = (r22 + d2 - r12)/(2*r2*d)

θ2/2 = cos^-1 * ((r22 + d2 - r12)/(2*r2*d))

으로 구할 수 있다.

이렇게 각도를 찾아 내면 공식에 의해 a,b,c 및 각도에 의한 부채꼴의 넓이 등을 계산 할 수가 있다.

 

이러한 두 원의 영역을 구하는 알고리즘 문제인 백준 7869번의 두 원의 문제를 풀어 보자.

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

 

7869번: 두 원

첫째 줄에 두 원의 중심과 반지름 x1, y1, r1, x2, y2, r2가 주어진다. 실수는 최대 소수점 둘째자리까지 주어진다.

www.acmicpc.net

 

#include <bits/stdc++.h>


using namespace std;

int main()
{
    double x1,y1,r1,x2,y2,r2;
    cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2;
    constexpr double pi = acos(-1);

    double d = sqrt( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2));

    double res = 0;
    if(r1+r2<=d) ///영역이 없다.
        res = 0;
    else if(abs(r1-r2)>=d) ///큰원에 작은원이 포함된 경우
    {
        res = pi * min(r1,r2) * min(r1,r2); ///작은 원의 넓이
    }
    else{
        double theta1 = acos( (r1*r1 + d * d - r2 * r2)/(2*r1*d) );
        double theta2 = acos( (r2*r2 + d*d - r1*r1)/(2*r2*d));

        double s1 = (r1 * r1 * theta1) - (r1 * r1 * sin(2*theta1)/2); ///부채꼴 넓이에서 삼각형 넓이를 빼자.
        double s2 = (r2 * r2 * theta2) - (r2 * r2 * sin(2*theta2)/2);
        res = s1 + s2;

    }

    printf("%.3f",res);


    return 0;
}

 

인천 서구 원당컴퓨터학원

원당컴퓨터학원에서는?

1. 4차 산업 시대의 흐름은 컴퓨터를 얼마나 이해하느냐에 따라 삶의 질이 틀려 질 수 있다는 것을 항상 염두에 두고 있습니다.

2. 알고리즘은 프로그래밍의 근원이 되는 문제해결 능력이며, 머신러닝은 IoT등에 의해 모여진 데이터를 활용하는 기법입니다.

3. 이에 따라 초,중,고 학생들이 알기 쉽게 이해하는 인공지능 부터 알고리즘까지 학생들의 실력에 맞춰 수업을 진행중에 있습니다.

4. 현재 초등학생이 고등학생이 되는 때에는 고교학점제 도입에 따라 자신이 전공하고자 하는 특기가 크게 부각 될것입니다.

5. IT 업체중 규모가 큰 곳에서는 코딩테스트(알고리즘테스트)로 블라인드 면접을 수행하는곳이 늘고 있습니다.

6. 미래 IT를 꿈꾸는 학생들의 산실이 되기 위해 항상 최선을 다하는 원당컴퓨터학원이 되겠습니다.

 

※ 정보영재 혹은 인공지능 관련 수업에 관해 궁금하신 분은 문의(032-565-5497) 주세요.

 

 

원당컴퓨터학원 커리큘럼

- OA : 학교 수행 평가에 꼭 필요한 컴퓨터 활용능력 향상

- IT 자격증 과정 : 취업대비,대학생인증제,승진을 위한 국가공인 자격증 취득과정

- 정보영재 : 정보올림피아드 및 알고리즘 대회/소프트웨어특기자전형/디미고 특별전형 대비/코딩테스트 대비를 위한 알고리즘 과정

- 프로젝트반 : 응용프로그래밍/웹프로그래밍/앱프로그래밍 등을 통해 직접 만들어 보면서 컴퓨터 프로그래밍 이해(소프트웨어 학생부종합전형/특성화고(디미고,선린고등) 특별전형대비)

- 인공지능 : 인공지능의 이해 및 실습을 통해 빅데이터 가공(4차 산업 시대의 축이 되는 인공지능 시대를 대비)

- 일반고,과고,영재고,특성화고,컴퓨터학과(SW) 대학생을 위한 내신대비 : python,java,c++,자료구조,알고리즘,이산수학 

 

 

 

 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기
  1. Favicon of http://deborah.tistory.com BlogIcon 데보라 2021.09.03 22:14

    알고리즘에 대한 설명 잘 보고 갑니다.

  2. Favicon of https://heysukim114.tistory.com BlogIcon *저녁노을* 2021.09.04 01:10 신고

    어렵네요.ㅎㅎ
    즐거운 주말 되세요

  3. Favicon of https://xuronghao.tistory.com BlogIcon 空空(공공) 2021.09.04 07:15 신고

    학생들 참고가 되겠습니다 ㅎ

  4. 핑구야날자 2021.09.04 12:24

    요런 알고리즘이 학생들에게 실력을 향상시킬 수 있는 좋은 기회가 아닌가 싶어요

  5. Favicon of https://seunmi1981.tistory.com BlogIcon 구름 달빛 2021.09.04 21:57 신고

    포스팅 잘보고갑니다 시원한 밤 보내세요

  6. Favicon of https://invitetour.tistory.com BlogIcon 휴식같은 친구 2021.09.06 12:21 신고

    역시 수학문제는 어려워 보이네요.ㅎ

  7. 우렁각시 2021.09.06 12:53

    와,,,ㅎㅎㅎ 어렵네요 ㅎㅎ 잘 보고 갑니당~~

  8. Favicon of https://lsmpkt.tistory.com BlogIcon 가족바라기 2021.09.06 22:17 신고

    학생들에게 좋은 공부되겠어욕

A,B,C 세 사람은 10문제의 쪽지 시험을 보았다.

쪽지 시험은 O 또는 X 중에서 하나를 답으로 고르는 것으로, 반드시 둘 중 하나가 정답이다.

다음과 같은 답안지를 채점한 결과 다음과 같을때 답이 X인 것을 모두 고르시오.

  1 2 3 4 5 6 7 8 9 10 점수
A의 답안지 O X O X O O X X O X 70
B의 답안지 X X O O O X O O X X 70
C의 답안지 X O O O X O O X O O 70

 

문제풀이)

A와 B의 답안을 살펴 보면 A와 B가 같은 답안이 4개 다른것이 6개이다.

여기서 세명이 모두 7개씩 맞혔으므로 맞은 문제는 4개이고 나머지 6개 중에서 3개씩 맞았다는 것이 된다.

A와 C의 답안을 살펴 보면 A와 C가 같은 답안이 4개 다른것이 6개이다.

동일하게 서로 같은 4개는 모두 정답이고 6개 중에서 3개씩 맞았다는 것이 된다.

  1 2 3 4 5 6 7 8 9 10
A의 답안지 O X O X O O X X O X
B의 답안지 X X O O O X O O X X
C의 답안지 X O O O X O O X O O

이와 동일하게 B와C도 체크하면 위의 테이블과 같이 빨간색 부분이 정답인것을 알 수 있다.

 

따라서 정답이 X인 문제는 1,2,8,10 이다.

 

컴퓨팅 사고력

컴퓨팅 과학에서 컴퓨터 소프트웨어의 동작에 대한 기능적 요구사항을 원인-결과 관계로 분석하고 이들 내용을 컴퓨터 명령어로 바꾸게 됩니다.

여기서 논리란 올바르고 이성적인 사고를 위해 필요하며 컴퓨터에서는 참과 거짓을 이용해 문제를 해결하게 됩니다.

논리적인 문제를 참과 거짓으로 판단하기 위해서 귀납적 논리와 연역적 논리를 이용하여 추론을 하게 되는데~

귀납적 논리는 관찰 또는 경험으로 부터 확실성을 가지고 결론이 도출 됩니다. 

예를 들면 방울토마토를 2번 먹은 후 병이 났다.

여기서 결론은 방울토마토를 먹고 병이 났다.

-> 방울 토마토를 먹을때 마다 병이 났다면 결론의 확실성 증가

-> 경험의 횟수에 따라 결론의 확실성 증가.

 

연역적 논리는 확실하다고 생각되는 것은 절대적으로 참이라는 가정으로 시작

확실하다고 생각되는 것으로부터 다른 사실들도 절대적으로 참이라고 생각

가정이 참이라고 한다면 결론은 확실히 참

예를 들면 모든 인간은 죽는다. 아리스토텔레스는 인간이다.

따라서 아리스토텔레스는 죽는다.

 

오늘은 논리추론 문제를 다루어 보면서 논리적인 추론 방법인 귀납적 추론과 연역적 추론에 대해 다루어 보았습니다.

사람이 아침에 일어나면서 부터 논리적인 사고에 의해 참인지 거짓인지를 판단하여 하루를 보내게 되는데요~

그것이 자신에게는 참이 될 수 있지만 다른 사람에게는 거짓이 될 수 있는 일들이 참으로 많습니다.

컴퓨팅 과학에서는 주관적인 참과 거짓이 아닌 객관적인 참과 거짓을 밝히기 위해 끊임 없이 시도 되고 있고 그러한 것들이 인공지능에까지 영향을 미치는 것이 아닌가 합니다.

오늘 배운 논리 추론 문제와 같은 유형의 문제들을 통해서 새로운 컴퓨팅 과학에 대한 문제들에 대해 고민하고 새로운 세계를 열어나가는 한 축이 되시길 바랍니다.

 

오늘도 최선을 다하는 우리 학생들을 응원합니다.

 

인천 서구 검단신도시 원당컴퓨터 학원

 

 

원당컴퓨터학원에서는?

1. 4차 산업 시대의 흐름은 컴퓨터를 얼마나 이해하느냐에 따라 삶의 질이 틀려 질 수 있다는 것을 항상 염두에 두고 있습니다.

2. 알고리즘은 프로그래밍의 근원이 되는 문제해결 능력이며, 머신러닝은 IoT등에 의해 모여진 데이터를 활용하는 기법입니다.

3. 이에 따라 초,중,고 학생들이 알기 쉽게 이해하는 인공지능 부터 알고리즘까지 학생들의 실력에 맞춰 수업을 진행중에 있습니다.

4. 현재 초등학생이 고등학생이 되는 때에는 고교학점제 도입에 따라 자신이 전공하고자 하는 특기가 크게 부각 될것입니다.

5. IT 업체중 규모가 큰 곳에서는 코딩테스트(알고리즘테스트)로 블라인드 면접을 수행하는곳이 늘고 있습니다.

6. 미래 IT를 꿈꾸는 학생들의 산실이 되기 위해 항상 최선을 다하는 원당컴퓨터학원이 되겠습니다.

 

※ 정보영재 혹은 인공지능 관련 수업에 관해 궁금하신 분은 문의(032-565-5497) 주세요.

 

 

원당컴퓨터학원 커리큘럼

- OA : 학교 수행 평가에 꼭 필요한 컴퓨터 활용능력 향상

- IT 자격증 과정 : 취업대비,대학생인증제,승진을 위한 국가공인 자격증 취득과정

- 정보영재 : 정보올림피아드 및 알고리즘 대회/소프트웨어특기자전형/디미고 특별전형 대비/코딩테스트 대비를 위한 알고리즘 과정

- 프로젝트반 : 응용프로그래밍/웹프로그래밍/앱프로그래밍 등을 통해 직접 만들어 보면서 컴퓨터 프로그래밍 이해(소프트웨어 학생부종합전형/특성화고(디미고,선린고등) 특별전형대비)

- 인공지능 : 인공지능의 이해 및 실습을 통해 빅데이터 가공(4차 산업 시대의 축이 되는 인공지능 시대를 대비)

- 일반고,과고,영재고,특성화고,컴퓨터학과(SW) 대학생을 위한 내신대비 : python,java,c++,자료구조,알고리즘,이산수학 

 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기
  1. Favicon of https://lsmpkt.tistory.com BlogIcon 가족바라기 2021.08.27 22:26 신고

    재미있게 할수있어 학생들이 관심가지겠어요

  2. Favicon of https://invitetour.tistory.com BlogIcon 휴식같은 친구 2021.08.28 11:14 신고

    논리 추론문제에 관한 내용 잘 보고 갑니다.
    즐거운 주말 보내세요.

  3. 핑구야 날자 2021.08.28 18:55

    코딩은 아무래도 논리력이 참 중요한 거 같아요

 

 
정보올림피아드 또는 수학 올림피아드에서 거꾸로 생각하는 방법은 자주 사용되는 방법입니다. 응용문제나 문장의 결과를 서술하는 것에서 시작하여 이미 알고 있는 조건을 이용하여 한발자국 한발자국 거꾸로 분석하고 추리하면서 문제를 해결하는 방법입니다.

거꾸로 생각하여 푸는 방법
1. 문제를 읽고 조건을 순서대로 정리합니다.
2. 문제의 조건을 식 또는 그림으로 간단히 나타냅니다.
3. 마지막 결과에서부터 거꾸로 계산합니다.
4. 더하기<->빼기, 곱하기<->나누기
 

 

 

문제유형 살펴보기

수학 시험을 본 후 미혜는 선희에게 몇점이냐고 물었습니다. 선희는 "내가 맞은 점수에 8점을 뺀 후 10을 더하고 그 수를 7로 나눈 후 4를 곱하면 56이 된다." 라고 대답했습니다. 선희의 수학점수는 몇점입니까?

문제풀이)

마지막 이 56인데 어떤 수를 4를 곱한 후의 값이므로 바로 이전의 값은 56 / 4 = 14 입니다.

14는 어떤 수를 7로 나눈 수이기 때문에 그 이전의 값은 14 * 7 = 98 입니다.

98은 어떤수에서 10을 더한 값이기 때문에 그 이전의 값은 98 - 10 = 88 입니다.

88은 어떤수에서 8점을 뺀 수이기 때문에 그 이전의 값은 88 + 8 = 96입니다.

정답은 96점

 

 

정보올림피아드 기출문제 유형 살펴 보기

2003년 초등부 4번]

어느 날 양치기는 자신이 돌보던 양떼 중 2/3 를 잃어버렸다. 그리고 다음 날 아침에 잃어버렸던 양의 4/5 를 되찾았다. 양치기가 처음에 돌보던 양떼 중 남아있는 양을 분수로 나타내면?

문제풀이)

첫날 잃어버린 양 2/3 -> 다음날 찾은 양 2/3 * 4/5 = 8/15 원래 남아있던 양 1/3 합하면 13/15

 

2006년 중고등부 5번]

지성이는 A년 전에 B살이었다. 그렇다면 지성이가 C살이 되는 것은 지금으로부터 몇 년 후인가?

① A + B - C 년 후

② A - B + C 년 후

③ C - A - B 년 후

④ C - A + B 년 후

⑤ C + A - B 년 후

 

문제풀이]

현재 나이는 B살 + A 이다.

C살이 되는 해는 C살 - 현재 나이가 될것이다.

따라서 C - (B+A) = C - B -A 가 될것이다.

정답) 3번

 

2011년 중등부 2번]

아버지와 아들의 나이 합은 85이다. 과거에 아버지가 아들의 나이였을 때, 아버지의 나이는 아들의 나이의 6배이었다. 아버지와 아들의 나이 차는 얼마인가?

 

문제풀이]

아버지의 나이를 x라고 하고
아들의 나이를 y라고 하면
x + y = 85 이고
아버지의 나이가 아들의 나이 였을때(y살이었을때) (x-y년 전이라면 아들의 나이는 y - (x-y) 살이 되었으므로)
y = 6(y-(x-y)) = 12y – 6x 의 식이 성립한다.
6x= 11y
x = 11y/6
11/6 * y + 6/6 * y = 85
17/6 * y = 85
y = 85 * 6/17 =30
x=55 이므로
x-y= 55 -30 =25

정답) 25살

 

정리

거꾸로 생각하기 유형의 문제에서 정보올림피아드 유형은 순차적으로 생각하면서 어떤 순서로 해결을 해 나가야 하는지 등이 유형으로 제출이 되고 있습니다.

문제를 해결하면서 어느 시점이 실마리가 되는지를 찾는 연습은 어떤 프로그램을 만들때 어느 시점에서 시작해서 어떤 식으로 풀어나가야 하는지 찾아 나가는 알고리즘의 첫번째 관문과 같은 역할을 수행합니다.

 

이러한 유형의 문제를 연습하면서 꾸준히 실력을 키우신다면 성공한 미래의 자신을 볼 수 있을 것입니다.

 

오늘도 최선을 다하는 우리 학생들을 응원합니다.

 

인천 서구 검단신도시 원당컴퓨터학원

 

 

원당컴퓨터학원에서는?

1. 4차 산업 시대의 흐름은 컴퓨터를 얼마나 이해하느냐에 따라 삶의 질이 틀려 질 수 있다는 것을 항상 염두에 두고 있습니다.

2. 알고리즘은 프로그래밍의 근원이 되는 문제해결 능력이며, 머신러닝은 IoT등에 의해 모여진 데이터를 활용하는 기법입니다.

3. 이에 따라 초,중,고 학생들이 알기 쉽게 이해하는 인공지능 부터 알고리즘까지 학생들의 실력에 맞춰 수업을 진행중에 있습니다.

4. 현재 초등학생이 고등학생이 되는 때에는 고교학점제 도입에 따라 자신이 전공하고자 하는 특기가 크게 부각 될것입니다.

5. IT 업체중 규모가 큰 곳에서는 코딩테스트(알고리즘테스트)로 블라인드 면접을 수행하는곳이 늘고 있습니다.

6. 미래 IT를 꿈꾸는 학생들의 산실이 되기 위해 항상 최선을 다하는 원당컴퓨터학원이 되겠습니다.

 

※ 정보영재 혹은 인공지능 관련 수업에 관해 궁금하신 분은 문의(032-565-5497) 주세요.

 

 

원당컴퓨터학원 커리큘럼

- OA : 학교 수행 평가에 꼭 필요한 컴퓨터 활용능력 향상

- IT 자격증 과정 : 취업대비,대학생인증제,승진을 위한 국가공인 자격증 취득과정

- 정보영재 : 정보올림피아드 및 알고리즘 대회/소프트웨어특기자전형/디미고 특별전형 대비/코딩테스트 대비를 위한 알고리즘 과정

- 프로젝트반 : 응용프로그래밍/웹프로그래밍/앱프로그래밍 등을 통해 직접 만들어 보면서 컴퓨터 프로그래밍 이해(소프트웨어 학생부종합전형/특성화고(디미고,선린고등) 특별전형대비)

- 인공지능 : 인공지능의 이해 및 실습을 통해 빅데이터 가공(4차 산업 시대의 축이 되는 인공지능 시대를 대비)

- 일반고,과고,영재고,특성화고,컴퓨터학과(SW) 대학생을 위한 내신대비 : python,java,c++,자료구조,알고리즘,이산수학 

 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기
  1. Favicon of https://lsmpkt.tistory.com BlogIcon 가족바라기 2021.08.24 21:26 신고

    사고력 수학은 뭔가 흥미롭더라구요

  2. Favicon of http://deborah.tistory.com BlogIcon 데보라 2021.08.24 23:11

    아주 재미 있게 풀이를 해놓으셨네요.

  3. Favicon of https://xuronghao.tistory.com BlogIcon 空空(공공) 2021.08.25 06:35 신고

    걸을 때 가끔 뒤를 돌아 보듯이 거꾸로 생각해 보는 것도
    아주 좋은 방법입니다

  4. 핑구야날자 2021.08.25 06:38

    사고력을 키우는데 정말 좋을 거 같군요 항상 다른 방향으로 생각하는게 중요한 거 같아요

  5. Favicon of https://invitetour.tistory.com BlogIcon 휴식같은 친구 2021.08.25 17:41 신고

    사고력수학은 정말 다양하게 생각해야 풀수 있는것 같습니다.


원당이는 배를 타고 낚시를 하다가 갑자기 풍랑을 만나 무인도에 떠 밀려 가게 되었습니다.
배는 다시 수리가 불가능 할 정도로 파손이 되어 있어서 배를 수리해서 빠져 나가는 것은 무리가 있습니다.

무전기 역시 망가져서 무전을 했는데~ 잡음이 너무 심해서 상대방과 통화를 할 수가 없습니다.
하지만 다행스럽게도 통화는 할 수 없지만 신호를 보내는 것은 가능합니다.
짧게 누르거나 길게 누르는 것으로 조난 구조 신호를 보내고 싶습니다.

국제 모스 부호는 다음과 같습니다.

무전기를 이용해서 점과 선으로 만들어진 모스 부호를 짧게 누르면 점, 길게 누르면 선을 표현 할 수 있습니다.
상대방이 SOS 구조 신호를 받을 수 있도록 여러분이 도와 주세요.

문제풀이)

S 는 점점점
O 는 선선선
입니다.

따라서 SOS 는 점점점 선선선 점점점 입니다.

 

컴퓨팅 사고력

1836년에 새뮤얼 모스, 조셉 헨리, 알프레드 베일은 전기신호를 이용해 간단한 온/오프 시스템으로 메시지를 전송하는 방식인 모스부호(Morse code) 를 발명했다. 이 코드는 회로가 켜져 있는 시간의 장단에 따라 결정되는데 긴 신호와 짧은 신호를 이용해 알파벳을 표기한다. 회로가 짧게 켜져 있는 신호는 점(Dot) 라과 하고 긴 신호는 선(Dash)이라고 한다. 예를 들어 점,점,점,선,선,선,점,점,점 은 국제적으로 널리 알려진 구조요청 신호 SOS 이다.

 

 

오늘도 최선을 다하는 우리 학생들을 응원합니다.

 

인천 서구 검단신도시 원당컴퓨터학원

 

 

 

원당컴퓨터학원에서는?

1. 4차 산업 시대의 흐름은 컴퓨터를 얼마나 이해하느냐에 따라 삶의 질이 틀려 질 수 있다는 것을 항상 염두에 두고 있습니다.

2. 알고리즘은 프로그래밍의 근원이 되는 문제해결 능력이며, 머신러닝은 IoT등에 의해 모여진 데이터를 활용하는 기법입니다.

3. 이에 따라 초,중,고 학생들이 알기 쉽게 이해하는 인공지능 부터 알고리즘까지 학생들의 실력에 맞춰 수업을 진행중에 있습니다.

4. 현재 초등학생이 고등학생이 되는 때에는 고교학점제 도입에 따라 자신이 전공하고자 하는 특기가 크게 부각 될것입니다.

5. IT 업체중 규모가 큰 곳에서는 코딩테스트(알고리즘테스트)로 블라인드 면접을 수행하는곳이 늘고 있습니다.

6. 미래 IT를 꿈꾸는 학생들의 산실이 되기 위해 항상 최선을 다하는 원당컴퓨터학원이 되겠습니다.

 

※ 정보영재 혹은 인공지능 관련 수업에 관해 궁금하신 분은 문의(032-565-5497) 주세요.

 

 

원당컴퓨터학원 커리큘럼

- OA : 학교 수행 평가에 꼭 필요한 컴퓨터 활용능력 향상

- IT 자격증 과정 : 취업대비,대학생인증제,승진을 위한 국가공인 자격증 취득과정

- 정보영재 : 정보올림피아드 및 알고리즘 대회/소프트웨어특기자전형/디미고 특별전형 대비/코딩테스트 대비를 위한 알고리즘 과정

- 프로젝트반 : 응용프로그래밍/웹프로그래밍/앱프로그래밍 등을 통해 직접 만들어 보면서 컴퓨터 프로그래밍 이해(소프트웨어 학생부종합전형/특성화고(디미고,선린고등) 특별전형대비)

- 인공지능 : 인공지능의 이해 및 실습을 통해 빅데이터 가공(4차 산업 시대의 축이 되는 인공지능 시대를 대비)

- 일반고,과고,영재고,특성화고,컴퓨터학과(SW) 대학생을 위한 내신대비 : python,java,c++,자료구조,알고리즘,이산수학 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기
  1. Favicon of https://lsmpkt.tistory.com BlogIcon 가족바라기 2021.08.11 20:47 신고

    흥미를 이끌어 푸니 좋네요

  2. Favicon of https://xuronghao.tistory.com BlogIcon 空空(공공) 2021.08.12 06:02 신고

    이런 사고력 문제 풀어 보는 것도 좋겠어요^^

  3. 핑구야 날자 2021.08.12 06:37

    독해능력이 아무래도 사고력과 관련이 있을 것 같아요

  4. Favicon of https://invitetour.tistory.com BlogIcon 휴식같은 친구 2021.08.12 20:21 신고

    잘 보고 갑니다.
    편안한 시간 되세요.

원당이는 이번 설에 세뱃돈을 받아서 놀이공원에 갔습니다.
세뱃돈을 가지고 한 종류의 놀이 기구만 탄다고 하면 회전목마 50번, 롤러코스트 100번, 바이킹 120번,대관람차 150번,범퍼카 60번을 탈 수 있습니다.
원당이는 5가지의 놀이기구를 똑같은 횟수로 타고 싶어 합니다.(자유이용권은 생각하지 않습니다.)
그렇다면 원당이가 가지고 있는 돈으로 최대한 몇회를 탈 수 있는지 계산을 해주세요.

문제풀이)

이 문제는 최소공배수를 활용해서 문제를 풀수 있습니다.
회전목마 50번,롤러코스트 100번,바이킹 120번,대관람차 150번,범퍼카 60번의 최소공배수는 600 입니다.
만약 600원의 세뱃돈이라고 하면 한번 타는데 회전목마는 12원,롤러코스트는 6원,바이킹은 5원,대관람차는 4원,범퍼카는 10원입니다.
따라서 한번씩 5개를 타는 비용은 12 + 6 + 5 + 4 + 10 = 37 원입니다.

600 / 37 = 16.21... 이므로 최대 16번을 탈 수 있습니다.

정답) 16

 

컴퓨팅 사고력

컴퓨터과학에서는 어떤 문제를 해결 할때 최대공약수와 최소공배수를 활용하여 해결하는 경우가 많습니다.

이때 a와 b의 최대공약수를 구할때 어떤 수를 1부터 a까지 증가 하면서 a와 b를 나누어서 나누어 떨어지는 가장 큰 수를 최대공약수로 선택할 수 있습니다.

for(int i=1;i<=a;i++)
{
	if(a%i==0 && b%i==0) gcd = i;
}

하지만 이 방법은 속도가 느리기 때문에 유클리드 호제법을 사용해서 두 수의 최대공약수를 구하게 됩니다.

2018.11.09 - [강의실/정보영재] - 유클리드 호제법 증명

 

유클리드 호제법 증명

유클리드 호제법은 2개의 자연수 또는 정수의 최대 공약수를 구하는 알고리즘의 하나 입니다. 정보올림피아드에서 2개의 최대 공약수를 구하는 문제가 종종 나오는데... 이때 유클리드 호제법을

wondangcom.com

long long gcd(long long a,long long b)
{
      if(b==0) return a;
      return gcd(b,a%b); //여기서 r = a % b 입니다.
}

최소 공배수를 구하는 방법 역시 a부터 a씩 증가 하면서 a와 b로 나누어 떨어지는 첫번째 수임을 판별 할 수 있습니다.

for(int i=a;;i+=a)
{
	if(i%a==0&&i%b==0) lcm=i,break;
}

하지만 이렇게 구하는 것보다 a 와 b의 두수의 곱이 최대공약수 * 최소공배수 인 것을 이용하여 해결하면 최대공약수를 유클리드호제법을 사용하여 구하는 속도 밖에는 안 걸리기 때문에 훨씬 빠른 속도로 해결 할 수 있습니다.

long long lcm(long long a,long long b)
{
	return a*b/gcd(a,b)
}

 

여러 개의 숫자가 들어 오는 경우 예를 들면 a,b,c 의 최대 공약수(또는 최소공배수)를 구하는 경우 a와 b의 최대공약수(또는 최소공배수)를 구한 후 그 최대공약수(또는 최소공배수)와 나머지 c의 최대공약수(또는 최소공배수)를 구하면 최대공약수(또는 최소공배수)가 됩니다.

//a,b,c의 최대공약수 구하는 법
long long g = a;
g=gcd(g,b)
g=gcd(g,c)

//a,b,c의 최소공배수 구하는법
long long l = a;
l=lcm(l,b)
l=lcm(l,c)

 

 

오늘도 최선을 다하는 우리 학생들을 응원합니다.

인천 서구 검단신도시 원당컴퓨터학원

 

원당컴퓨터학원에서는?

1. 4차 산업 시대의 흐름은 컴퓨터를 얼마나 이해하느냐에 따라 삶의 질이 틀려 질 수 있다는 것을 항상 염두에 두고 있습니다.

2. 알고리즘은 프로그래밍의 근원이 되는 문제해결 능력이며, 머신러닝은 IoT등에 의해 모여진 데이터를 활용하는 기법입니다.

3. 이에 따라 초,중,고 학생들이 알기 쉽게 이해하는 인공지능 부터 알고리즘까지 학생들의 실력에 맞춰 수업을 진행중에 있습니다.

4. 현재 초등학생이 고등학생이 되는 때에는 고교학점제 도입에 따라 자신이 전공하고자 하는 특기가 크게 부각 될것입니다.

5. IT 업체중 규모가 큰 곳에서는 코딩테스트(알고리즘테스트)로 블라인드 면접을 수행하는곳이 늘고 있습니다.

6. 미래 IT를 꿈꾸는 학생들의 산실이 되기 위해 항상 최선을 다하는 원당컴퓨터학원이 되겠습니다.

 

※ 정보영재 혹은 인공지능 관련 수업에 관해 궁금하신 분은 문의(032-565-5497) 주세요.

 

 

원당컴퓨터학원 커리큘럼

- OA : 학교 수행 평가에 꼭 필요한 컴퓨터 활용능력 향상

- IT 자격증 과정 : 취업대비,대학생인증제,승진을 위한 국가공인 자격증 취득과정

- 정보영재 : 정보올림피아드 및 알고리즘 대회/소프트웨어특기자전형/디미고 특별전형 대비/코딩테스트 대비를 위한 알고리즘 과정

- 프로젝트반 : 응용프로그래밍/웹프로그래밍/앱프로그래밍 등을 통해 직접 만들어 보면서 컴퓨터 프로그래밍 이해(소프트웨어 학생부종합전형/특성화고(디미고,선린고등) 특별전형대비)

- 인공지능 : 인공지능의 이해 및 실습을 통해 빅데이터 가공(4차 산업 시대의 축이 되는 인공지능 시대를 대비)

- 과고,영재고,컴퓨터학과(SW) 대학생을 위한 내신대비 : python,java,c++,자료구조,알고리즘,이산수학 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기
  1. Favicon of https://invitetour.tistory.com BlogIcon 휴식같은 친구 2021.08.04 20:21 신고

    최대공약수와 최소공배수를이용해서 해결하는 문제군요.
    잘 보고 갑니다.

  2. Favicon of https://lsmpkt.tistory.com BlogIcon 가족바라기 2021.08.04 23:13 신고

    생각을 요하는 문제는 흥미로워요

  3. Favicon of http://deborah.tistory.com BlogIcon 데보라 2021.08.05 01:18

    멋진 학원 소개글 잘 봅니다.

  4. Favicon of https://xuronghao.tistory.com BlogIcon 空空(공공) 2021.08.05 05:53 신고

    이런 문제도 논리적으로 풀 수가 있군요^^

  5. 핑구야 날자 2021.08.05 06:42

    사고력을 키우는 데는 이만한게 없지요

  6. Favicon of http://pangyione.com/ BlogIcon 청결원 2021.08.05 16:50

    포스팅 잘 보고 갑니다.
    즐거운 하루 보내세요~

  7. Favicon of https://seunmi1981.tistory.com BlogIcon 구름 달빛 2021.08.07 06:08 신고

    포스팅 잘보고갑니다

+ Recent posts