Juwan Park :: '★프로그래밍/Ruby' 카테고리의 글 목록 (3 Page)

alias 문의 유용한 쓰임

루비의 명령문 중 alias 문이 있습니다. alias라는 단어의 사전적 의미를 보면, 부사로 쓰일 땐 '~라는 가명으로 알려진, 일명 ~라 불리는'의 뜻으로, 명사로 쓰일 땐 '(범죄자 등의) 가명'의 뜻으로 쓰입니다. 전산 용어로 쓰일 때는 '파일·인터넷 주소 등에 쓰이는 가명'을 뜻합니다. 루비에서 alias 문은 def 문으로 정의된 프로시저의 별칭을 지정할 때 사용되는 구문입니다. 루비에는 alias 말고도 alias_method 문도 있지만 여기선 일단 alias만 간단히 설명하기로 합니다. 다음 예제를 봅시다. def helloworld puts "Hello, world!" end alias hello helloworld hello 이 코드에서 1번 줄부터 3번 줄까지는 "Hello, wor..

★프로그래밍/Ruby :: 2015. 9. 19. 18:16

소인수분해 프로그램 예제

소인수분해 프로그램 예제

루비의 반복문과 조건문을 응용하여 만든, 합성수를 소인수분해하는 프로그램 예제입니다.예제에 앞서 소수와 합성수의 개념을 먼저 설명드리고자 합니다. 여기서 소수는 0.1, 0.5 이런 소수(小數)가 아니라 합성수와 반대되는 개념입니다. (한자로는 素數라 쓰는데 예전에는 小數와 구분하기 위해 '솟수'라고 표기하기도 했습니다. 여기서 말하는 소수를 '소쑤/솓쑤'라고 읽는 이유도 여기 있습니다.) 어떤 자연수 n을 다른 자연수 a로 나누었을 때 나머지가 0라고 한다면, a는 n의 약수가 됩니다. 즉, 6의 약수는 1, 2, 3, 6이 됩니다. 여기서 약수 중 자기 자신을 제외한 약수를 진약수라고 부릅니다. 앞에서 예로 든 6의 진약수는 6을 제외한 1, 2, 3입니다.이제 소수와 합성수를 설명합니다. 소수는 2..

★프로그래밍/Ruby :: 2015. 9. 18. 15:38

체스판식 등차수열 채우기 예제

체스판식 등차수열 채우기 예제

모래시계 배열, ㄹ자 배열에 이어 이번에는 체스판식 배열로 등차수열 채우기 예제입니다. 말 그대로 배열 값을 채우는 예제입니다. 예를 들어, 위 그림의 체스판처럼 배열을 8*8로 했다고 가정하면, 일단 위 그림의 밝은색 칸에 해당하는 자리부터 먼저 채웁니다. 우선, 왼쪽의 흑색 룩(♜)이 있는 자리는 1, 그 다음 한 칸 건너 왼쪽 흑색 비숍(♝)이 있는 자리는 2, 또 그 다음 한 칸 건너 흑색 킹(♚)이 있는 자리는 3, 또 그 다음 한 칸 건너 오른쪽 흑색 나이트(♞)가 있는 자리는 4가 들어갈 것입니다. 그런 다음 한 줄 내려서 이번에는 왼쪽에서 두 번째 칸에 있는 폰2(♟)에는 5, 폰4에는 6, 폰6에는 7, 폰8에는 8 이런 순서로 채워나가면 나중에는 맨 마지막의 오른쪽 백색 룩(♖)이 있는..

★프로그래밍/Ruby :: 2015. 9. 17. 14:58

2차원 배열 ㄹ자로 등차수열 채우기 예제

2차원 배열 ㄹ자로 등차수열 채우기 예제

모래시계 배열에 이어 이번에는 ㄹ자로 배열 값을 채우는 예제가 있습니다. 이 알고리즘 역시 정보처리기사 기출문제 중에 있습니다. 이것을 루비로 한 번 구현해 보았습니다. 5*5 배열에 적용했을 때 출력될 결과를 미리 그려 보면 다음과 같습니다. 12345 109876 1112131415 2019181716 2122232425 아래 예제는 이를 10*10 배열에 적용했을 때 예제입니다. # ㄹ자 모양으로 값 채워넣기 예제 # # 규칙 # ㉠ 배열의 맨 처음 위치에는 1을 대입합니다. # ㉡ 그리고 그 오른쪽으로는 2, 3, 4, 5 ... 순으로 한 칸씩 채워 나갑니다. # ㉢ 그 다음 줄은 ㉡에서 채워진 숫자의 다음 숫자를 오른쪽부터 채웁니다. # ㉣ ㉢의 다음 줄은 왼쪽에서부터, 그 다음 줄은 오른쪽에..

★프로그래밍/Ruby :: 2015. 9. 17. 00:04

모래시계 배열 예제 (정중앙부터 채우기)

모래시계 배열 예제 (정중앙부터 채우기)

프로그래밍 예제로 배열을 맨 위와 맨 아래는 꽉꽉 채우고 가운데로 갈수록 양 끝을 비워놓은 모래시계 모양으로 뿌리는 예제가 있습니다. 정보처리기사와 정보처리산업기사 실기 알고리즘에도 실제로 출제된 바 있습니다. (정보처리기능사 실기에서도 출제됐는지는 잘 모르겠습니다만...) 흔히 맨 위에서부터 1, 2, 3, 4, 5... 이런 식으로 대입하는 예제가 흔하지만 여기서는 정중앙에 1을 대입하고 그 자리를 중심으로 점점 값을 1씩 크게 해서 위 아래 위 위 아래 EXID 노래와는 상관없습니다. --; 이런 식으로 대입하는 식으로 구현했습니다. 즉, 7*7 배열에서는 다음과 같이 됩니다. 18192021222324 0891011120 0023400 0001000 0076500 017161514130 31302..

★프로그래밍/Ruby :: 2015. 9. 15. 19:49

루비 행맨게임 코드 예제

루비 행맨게임 코드 예제

루비로 짠 행맨게임 코드 예제입니다. 필자가 중학교 때 영어수업시간에 했던 게임 중 하나로, 영어 단어를 한 글자씩 맞히고 틀리면 교수형 당하는 사람 그려지는 그 게임 맞습니다.여기서는 루비의 문자열 값을 다루기 위한 예시로 행맨게임을 이용했습니다.코드는 다음과 같습니다. def init # 문제를 출제할 배열 @q_list = ["KOREA", "ENGLAND", "FRANCE", "GERMANY", "ITALY", "SPAIN", "DENMARK", "SWEDEN", "PORTUGAL", "NORWAY", "FINLAND", "POLAND", "CZECH", "AUSTRIA", "ICELAND", "BELGUIM", "NETHERLANDS", "UNITED STATES", "CANADA", "MEXI..

★프로그래밍/Ruby :: 2015. 9. 14. 14:57

배열 1, 2, 3, 4 ...에서 랜덤 숫자 배열 추출 예제

Ruby의 배열 기능 중 정렬 기능과 섞기 기능을 활용한 예제입니다.마치 로또복권처럼 1부터 45까지 45개의 숫자가 들어 있는 배열을 무작위로 섞은 후 그 배열에서 6개의 숫자를 추출해 배열을 만들고 출력할 때 보기 좋게 하기 위해 랜덤으로 선택된 6개의 숫자가 있는 배열을 오름차순으로 정렬하는 예제입니다.다음은 이를 구현한 코드입니다. n_max = 45 #전체 숫자 수 n_sel = 6 #고를 숫자 수 n_times = 5 #고를 횟수 d = [] for i in 1..n_max d.push i #숫자를 1부터 차례대로 넣기. end for i in 1..n_times #고를 횟수만큼 반복 d.shuffle! #숫자 섞기. nn = n_sel - 1 #고를 숫자 수에서 1 빼기. d_sel = d[..

★프로그래밍/Ruby :: 2015. 9. 13. 23:04

프로그래밍 언어 루비(Ruby)

프로그래밍 언어 루비(Ruby)

프로그래밍 언어 루비(Ruby)를 시작해 봅시다.루비(Ruby)는 일본의 컴퓨터 과학자 마츠모토 유키히로(松本行弘; Mats)가 창시한 프로그래밍 언어로, 사용하기 쉽고 편하게 만들어져 있습니다. 객체 지향적이고 확장성이 매우 좋다는 특징이 있어 웹 서버 등 여러 곳에서 널리 쓰이고 있습니다. 루비 온 레일즈(Ruby on Rails)가 바로 루비를 기반으로 한 웹 애플리케이션 프레임워크입니다. RPG 만들기 XP와 VX, Ace에서 사용하는 스크립트 또한 루비로 되어 있습니다. 필자가 학창시절에는 BASIC이라는 프로그래밍 언어를 많이 다루어 보았는데, 루비의 언어 구조가 BASIC과 비슷한 면이 있습니다. 물론 문법은 차이가 있습니다. 공통점이 있자면 인터프리터(Interpreter; 코드를 단계적으..

★프로그래밍/Ruby :: 2015. 9. 12. 21:58
1 2 3
Today    Yday    Tot
Juwan Park
Juwan Park's blog is powered by Daum and .
Contemporary Blue for .
Designed by Juwan Park. Creative Commons License
▲ TOP