목록분류 전체보기 (50)
고딩개발자
2014 시도예선 중고등부 문제를 풀이하겠다. 1번 30, x, y, x, 50에 대해 각각 왼쪽과 오른쪽에 있는 수의 평균값이므로5개의 숫자 중 제일 가운데 있는 수 y가 왼쪽 오른쪽 양 끝에 있는 두 수의 평균값이라는 것을 알 수 있다. 2번 7을 계속 곱하면서 1의 자리만 보면 7 9 3 1로 순환하는 것을 알 수 있다.따라서 2014제곱이므로 2014를 순환하는 주기 4로 나눈 나머지 2번째 숫자 9가 답이다. 3번 합치면 면적이 1이되는 것들을 모두 정리하여 더하면 13이 나온다. 4번 거, 속, 시 공식을 이용하면 된다. 우리가 모르는 것이 거리이므로 거리를 미지수 X로 놓고 푼다.따라서 A = X/(2x12) + X/(4x2) = x/6, B = (2/3)x(X/15) + (1/3)x(X/5..
이번에는 2008년도 정올 수학문제 11번부터 풀이하겠다. 11번 점을 이어 만들 수 있는 정사각형의 개수를 구하는 것인데 내가 이런 문제를 풀때는 보통 칸수나 점개수로 분류해서 푼다.이 문제의 경우는 칸으로 분류했다.1칸→ 9개 2칸→4개4칸→ 4개5칸→2개9칸→ 1개아래는 다섯칸짜리를 그린 모습이다. 따라서 총 20개의 정사각형을 그릴 수 있다. 12번 모든조건이 나와있지만 모두 듣는 경우가 안나와 있으므로 그걸 미지수 x로 놓고 풀면된다.그러면 x는 20이 나온다.따라서 95+40+190 = 325로 5번이 답이다. 13번 이 문제를 풀때는 가장 큰 숫자와 다음으로 큰 숫자를 표시해놓고 그 숫자들을 최대한 많이 지나가도록 하였다.그렇다면7 → 3 → 8 → 6 → 6 → 7순으로 가면 가장큰 숫자 ..
이번에는 2008년도 시도예선 정보올림피아드 중고등부 예선 필기문제 풀이를 하겠다. 총 35문제로 수학문제 15문제와 코딩문제 20문제로 이루어져 있다. 그중에서도 이번에는 수학문제 10문제를 먼저 풀이해 보겠다. 1번 1 3 6 11 19 31 48 ( )괄호안에 들어가는 숫자를 찾는 문제인데 규칙을 찾는것이 중요하다앞에서부터 보면 앞에 숫자에 2, 3, 5, 8, 12, 17씩 더해지고 있는것을 발견할 수 있다.위의 숫자들을 보면 또 1, 2, 3, 4, 5씩 차이가 나는것을 확인할 수 있다.그렇다면 괄호안에 들어갈 숫자는 48에 (17+6)을 더한 71이라는것을 알 수 있다. 2번 복연산 문제는 반올림이 있느냐 없느냐와 짝수이냐 홀수이냐를 생각하며 푸는것이 좋다.이 문제를 예를 들어 설명하면 A와 ..
이번에는 디자인할 때 유용한 사이트들을 알아보자!! 고등학교에 들어와서 처음으로 포토샵, 일러스트레이터와 같은 프로그램들을 접했는데 디자인감각도 별로 없었던 내게는 너무 어려웠다. 물론 사용법도 어려웠지만 어떻게 디자인을 해야 할지도 감이 안잡혔다.디자인이 어려운 사람들은 아래의 사이트들을 참고해 보자...! 1) 사이트에 주제에 맞는 사진을 찾고싶을때! 아래 사이트들은 저작권이 없는 사진들이 있는 곳이다. - 픽사베이 (pixabay)https://pixabay.com/ko/ 백터 이미지와 일러스트도 함께 제공되는 점과 다양한 사이즈의 사진을 다운받을 수 있다는 것이 장점이다! - 언스플래쉬 (unsplash)https://unsplash.com/ 10일에 사진이 10장씩 업데이트 되며 이쁜 사진들이 ..
이번에는 illustrator의 기능 중에서도 pathfinder에 대해 자세히 알아보자. pathfinder를 이용하면 여러개의 개체를 합칠수도 있고 나눌 수도 있다.그럼 pathfinder의 여러 기능들을 살펴보자. 먼저 이렇게 두개의 동그라미를 만든다. (꼭 동그라미가 아니라 다른 모양이여도 좋다.) 다음으로 pathfinder를 연다.여는 법 : window > pathfinder 패스파인더를 열면 조그만 패널이 오른쪽에 뜰 것이다.이것들을 이용해 보자. 처음으로 해볼것은 병합 이다.두 개채를 shift키를 누르며 둘다 선택해 주고 병합을 누른다.그러면 아래와 같이 두 개체의 패스가 이어진다. 패스파인더 위에 모양 모드를 보면 우리가 방금 했던 병합과 비슷하게 생긴 아이콘이 있다.방금전 패스가 나..
github 사용법을 알아보자!! github를 사용하면 어디서나 내가 짠 코드를 확인하고 수정하고 가져올 수 있다. 메일로 내 코드를 보내놓아도 되지만 github를 이용하면 다른 사람과 같이 코드를 공유할 수도 있고 계속 수정하여 올릴 수 있다. 먼저 github에 들어가서 회원가입을 한다.https://github.com/ 다음으로 커밋을 하기 위해서 github를 다운 받는다. 윈도우 사용자의 경우에는 아래 링크에서 다운받으면 된다.http://gitforwindows.org/ 로그인을 한 후 메인 페이지에서 Start a project에 들어가 프로젝트 하나를 생성한다. 사이트 우측 상단에 있는 프로필에 들어간다. 프로필에 들어가면 repositories에 들어가면 내가 만든 프로젝트가 보일것이..
이번에는 저번에 만들던 똥게임을 완성해보자!! 저번 시간에는 게임에 필요한 객체들을 모두 생성하고 그 객체들에 대한 설정을 해주었다.그러면 이번에는 실제로 게임을 실행하는 코드(충돌 체크)등을 짜보자. 먼저 게임종료와 게임 실행 여부 체크를 위해 gameover라는 변수를 만든다.게임종료 되었을때는 true를, 그냥 실행중일때는 false를 넣어준다.처음은 게임을 실행해야 하기 때문에 gameover변수에 false를 넣는다. let gameover = false; 이제 run()함수를 보자. if (gameover) { //배경색 변경 context.fillStyle = 'black'; context.fillRect(0, 0, canvas.width, canvas.height); context.font..
이번에는 가상기억장치와 그 관리법을 알아보자. 초기에는 기억장치보다 큰 프로그램은 실행할 수 없는 문제점이 있었다. 그렇다면 가상기억장치란 무엇일까? 프로그램을 관리할 때 현재 사용되고 있는 프로그램의 일부는 주기억장치에 유지하고 나머지는 보조기억장치 즉, 디스크에 유지시킨다. 이때, 사용자가 보조 기억장치와 같은 용량을 가지고 있는 것처럼 생각하고 프로그램을 관리할 수 있도록 하는 것이 가상기억장치이다. 가상주소 : 보조기억장치의 번지실주소 : 주기억장치내 주소 CPU에 참조되는 각 가장주소를 주기억장치의 실주소로 변환하는 주소사상(mapping)이 필요하며 기법으로는 페이징 기법과 세그멘테이션 기법이 있다. 1) 동적주소변환(DAT) a. 가상주소 만들기프로그램을 여러개의 블록으로 나누고, 프로그램의..
이번에는 주기억장치의 관리법에 대해 알아보겠다. 우리는 주기억장치에 여러 프로세스가 적재되어야 하는 다중프로그래밍 환경에서 컴퓨터를 사용하고 있다.이 기억장치의 효율성과 성능 향상을 위해 어떤 프로세스를 어디에 적제할 것인지에 대한 관리가 필요하다. 1) 단일 사용자 할당 초기에 시스템에서 실행될 프로그램 전체를 연속된 메모리공간에 미리 적재하는 방법이다.즉, 하나의 작업이 주기억장치를 전용으로 사용하는 것이다.단일 사용자 할당을 이용하면 사용자 프로그램의 크기가 사용자 영역의 크기로 제한되며빈 공간을 사용하지 못해 기억장치의 낭비가 심하여 주변 장치등의 자원낭비, CPU시간 낭비 등이 크다. 2) 고정 분할 다중 프로그래밍(정적 분할 다중프로그래밍) 메모리를 미리 몇개의 고정된 개수와 크기로 분할하는 ..
우리가 보통 c언어로 코드를 짜면 생성된 정보들은 모두 컴파일 한 후 어떠한 메모리에 들어가서 저장되고 실행을 종료하면 그에관한 정보가 모두 사라진다. 하지만 만일 c언어로 이벤트 등록 캘린더나 단어장을 만든다면 그 정보들(이벤트 날짜와 단어)이 사라지면 안될 것이다. 이런 정보들을 어디에 저장할 수 있을까?바로 메모장에 저장하는 것이다!!! c언어에서는 파일입출력에 관한 기본적인 함수들을 제공한다. 따라서 몇가지 함수들을 이용하여 파일을 열고 그안에 있는 정보들을 읽어오고 정보를 수정하는 것과 같은 작업들을 수행할 수 있다. 그 중에서도 우리는 오늘 메모장에 문자와 문자열을 저장하는 법을 알아보겠다. 먼저 우리가 그냥 메모장에 글씨를 쓰는 상황을 상상해보자. 우리는 글씨를 쓰고싶은 부분에 커서를 옮겨가..