목록설명 (15)
Prosto
배열에 대한 연습 문제를 풀어보는 네 번째 시간입니다. (이번엔 1차원 배열)전 시간까지는 규칙을 찾고 로직을 구성하는 문제들이었지만,이번 시간부터는 배열과 반복문, 조건문을 이용하여 특정 문제를 해결하면 됩니다.그럼, 이번에는 순위를 구하는 문제를 풀어보도록 하겠습니다. 문제에 대한 설명과, 완성된 소스는 제공합니다.소스에서 설명이 필요한 부분은 주석이나 별도의 코멘트를 달아 설명하도록 하겠습니다. 문제는 두 가지입니다. 첫 번째는 배열이 가지고있는 숫자가 큰 순서대로 등수(순위)를 주고, 두 번째는 배열이 가지고있는 숫자가 작은 순서대로 등수(순위)를 주는 것입니다. (배열이 가지고 있는 숫자는 편의상 점수라고 생각하며 진행하겠습니다.) 문제1. 0번 학생부터 9번 학생까지 10명의 점수를 담고있는 ..
'사용자 정의 함수 - 이미 만들어진 함수를 사용하듯 직접 새로운 함수를 정의하여 사용하는 방법!' 프로그래밍을 하다보면 같은 작업을 변수 몇 가지만 바뀌어서 처리하거나,특정 기능을 만들어서 필요할 때마다 사용하고 싶은 경우가 있습니다.그런 때 사용할 수 있도록 해주는 게 사용자 정의 함수입니다. 지금까지 우리가 배웠던 것들을 그대로 함수로 만들 수 있습니다.예를 들면, 두 수를 전달해주면 더하기 기능을 해주는 함수를 만들 수도 있고, 구구단 중 특정 단을 출력해주는 기능을 하는 함수를 만들 수도 있습니다. 실제로 게임에서도 캐릭터가 이동하는 기능을 하는 함수, 공격을 하는 함수, 체력을 표시해주는 함수같이 여러 개의 함수를 만들어서 사용하게 됩니다. 함수에도 지금까지 했던 것처럼 일정한 규칙이 있지만,..
'빠르게 정렬하는 방법으로 가장 많이 사용되는 퀵정렬' 퀵 정렬은 빠른 정렬이나 퀵 소트(Quick Sort)라고도 부릅니다. 퀵 정렬(Qucik Sort)는 데이터를 정렬하는 방법 중 하나입니다. 데이터를 분할(Divide)하고 분할된 부분 별로 이동하는 정복(Conquer) 과정을 반복하여 거쳐 정렬하는 방법입니다. (지금까지의 정렬들과 달리 조금은 복잡합니다만 보고, 직접 해보며 이해할 수 있을 겁니다.) 성능을 Big O로 표기한다면 average, best = O(n log n)이고, worst = O(n^2)입니다. 일반적으로는 O(n log n)의 성능을 내주지만, 피봇(중심점이) 항상 최솟값이나 최댓값으로 잡힌다면 최악의 성능인 O(n^2)이 나옵니다. 참고로 지금까지 했던 (선택, 삽입,..
'검색할 범위를 반으로 줄여가며 찾아가는 이분 검색(Binary Search)' 이분 검색은 검색할 자료를 반씩 나누어 나머지 반만 검색하는 방식을 반복하여 자료를 찾는 검색(탐색) 방법입니다. 이 이분 검색을 이용하여 자료를 찾는다면 빠른 속도로 원하는 자료를 찾을 수 있습니다. (단, 이분 검색은 정렬되어있는 데이터에 사용할 수 있습니다.) (정렬 방법은 블로그 내의 다른 글을 참고하시면 도움이 될 것 같습니다.) 성능을 Big O로 표기한다면 O(log n)입니다. 자료가 2개라면 1번, 4개(2^2개)라면 2번, 8개(2^3개)라면 3번, 16개(2^4개)라면 4번, ... 1,024개(2^10개)라면 10번, 1,048,576개(2^19개)라면 최대 19번이면 찾습니다. 굉장히 빠르죠? 실제 배..
'엑셀 함수 - IF()' 이번 시간에는 엑셀 함수 중 조건에 따라 다른 처리를 해줄 수 있는IF(이프) 함수에 대하여 알아보고,실제로 문제도 풀어보도록 하겠습니다. 먼저 IF는 어떤 기능이 있는지 알아볼까요? IF는 주어진 조건에 대하여 만족하는 경우의 처리와 만족하지 않는 경우의 처리를서로 다르게 해줄 수 있는 함수입니다.(그래서 인수로 세 개가 들어가는 거죠. 1.조건 2.만족하는 경우 처리 3.만족하지 않는 경우 처리) 예를 들면 시험 점수가 60점 이상이면 합격, 미만(이상이 아닌 경우)이면 불합격같은 처리가 대표적이겠죠? 그럼 이제 이미지를 보며 차근차근 알아보도록 하겠습니다.(따라해보면 기억에 잘 남겠죠?) 가장 먼저, 함수 마법사를 통하여 함수 IF에 대하여알아보고 사용해보도록 합시다. 아..
'엑셀 함수 - MID()' 이번 시간에는 엑셀 함수 중 가운데부터 원하는 수 만큼문자를 가지고 올 수 있는 MID(라이트) 함수에 대하여 알아보고,실제로 문제도 풀어보도록 하겠습니다.(MID 함수는 LEFT, RIGHT보다 자유롭게 원하는 문자열을 가지고올 수 있습니다!) 먼저 MID는 어떤 기능이 있는지 알아볼까요? MID는 주어진 문자열에서 원하는 시작점부터 원하는 글자 수만큼 문자를 가지고올 수 있는 함수입니다.(LEFT는 왼쪽부터, RIGHT는 오른쪽부터인 것을 생각해보면 훨씬 자유롭죠?)물론 한 글자만 가지고 올 수도 있고, 두 글자, 세 글자 등 원하는 글자 수가 존재한다면 모두 가져올 수 있습니다. 예를 들면 주민등록번호 앞자리에서 생년월일만 가지고 온다든지,연월일 중 월 부분만 가지고 올..
'엑셀 함수 - RIGHT()' 이번 시간에는 엑셀 함수 중 오른쪽에서부터 원하는 수 만큼 문자를 가지고 올 수 있는 RIGHT(라이트) 함수에 대하여 알아보고, 실제로 문제도 풀어보도록 하겠습니다. 먼저 RIGHT는 어떤 기능이 있는지 알아볼까요? RIGHT는 주어진 문자열에서 원하는 글자 수 만큼 문자를 가지고올 수 있는 함수입니다. 한 글자만 가지고 올 수도 있고, 두 글자, 세 글자 등 원하는 글자 수가 존재한다면 모두 가져올 수 있습니다. (단, LEFT와 차이는 RIGHT는 오른쪽에서부터 가지고 온다는 점이죠.) 예를 들면 주민등록번호에서 뒷자리만 가지고 온다든지, 이름에서 성은 빼고 이름만 가지고 온다든지.. 아니면 연월일 중 해당 월과 일만 가지고 올 수도 있겠죠? 참고로 LEFT와 RIG..
'엑셀 함수 - LEFT()' 이번 시간에는 엑셀 함수 중 왼쪽에서부터 원하는 수 만큼 문자를 가지고 올 수 있는 LEFT(레프트) 함수에 대하여 알아보고, 실제로 문제도 풀어보도록 하겠습니다. 먼저 LEFT는 어떤 기능이 있는지 알아볼까요? LEFT는 주어진 문자열에서 원하는 글자 수 만큼 문자를 가지고올 수 있는 함수입니다. 한 글자만 가지고 올 수도 있고, 두 글자, 세 글자 등 원하는 글자 수가 존재한다면 모두 가져올 수 있습니다. 예를 들면 주민등록번호에서 앞자리만 가지고 온다든지, 이름에서 성만 가지고 온다든지.. 아니면 제품명에서 구분인 NK, DK 같은 문자를 가지고온다든지 필요한 상황이 있겠죠? 참고로 LEFT와 RIGHT, MID는 모두 문자열에서 특정 문자를 가지고 올 때 사용됩니다...
배열에 대한 연습 문제를 풀어보는 세 번째 시간입니다.(아직 배열에 일정한 규칙을 가지고 숫자를 넣어보는 문제입니다.) 배열과 for문(반복문) 사용을 할 수 있어야합니다.배열을 잘 모르겠다면?'[C언어] 배열(Array)의 이해와 예제, 문제' 일정한 규칙을 찾고 그걸 만드는 것은프로그래밍 로직을 구성하는 훈련을 할 수 있으니어떻게 하면 만들 수 있을지잘 생각해보고 만들어보시면 좋을 것 같습니다.(하나 하나 풀어가면 실력은 쌓이겠죠?) 완성된 소스는 제공합니다.설명이 필요한 부분은 간단하게 설명(혹은 주석)도 함께 올리도록 하겠습니다.(각자 자신만의 소스가 나올 수도 있겠죠.) 세 번째 시간의 문제도 1, 2 번째 시간과 유사한 문제입니다.이번 시간에는 기존 5 X 5 배열을 10 X 10으로 수정하여..
'엑셀 함수 - ROUNDUP()' '엑셀 함수 - ROUNDDOWN()' 이번 시간에는 엑셀 함수 중 올림과 내림 처리를 하는 ROUNDUP(라운드업)과 ROUNDDOWN(라운드다운) 함수에 대하여 알아보고, 실제로 문제도 풀어보도록 하겠습니다. ROUND 함수와 ROUNDUP, ROUNDDOWN 함수는 모두 사용법이 똑같습니다. 차이점은 대상 숫자를 (ROUND)반올림 처리를 할지, (ROUNDUP)올림 처리를 할지, (ROUNDDOWN)내림 처리를 할지의 차이 뿐입니다. ROUND(ROUNDUP, ROUNDDOWN)의 자세한 사용법을 천천히 보고싶다면 '엑셀(Excel) 함수 ROUND(라운드)에 대한 이해와 예제' 글을 참고해주세요. 그러면 기본형인 ROUND 함수의 사용방법을 알고있다고 생각하고..