Juwan Park :: 2016/08 글 목록

직각삼각형 배열 값 채우기 예제

루비로 2차원 배열에 직각삼각형으로 값을 채우는 예제입니다. 정보처리기능사 실기 알고리즘 문제에 비슷한 문제가 있었는데요.이 예제에서의 규칙은 다음과 같이 설정했습니다. 시작 값은 1입니다. 첫 행은 맨 마지막 열만 채웁니다. 두 번째 행은 맨 마지막의 두 열만 채우되, 맨 마지막 두 번째는 5, 맨 마지막은 9입니다. 세 번째 행은 맨 마지막의 세 열만 채우되, 맨 마지막 세 번째부터 13, 17, 21 순입니다. 이런 식으로 4씩 커지면서 직각..

★프로그래밍/Ruby :: 2016.08.28 23:03

기철이의 라면탈환기 리뷰

기철이의 라면탈환기 리뷰

이번에 리뷰할 게임은 사막사마귀라는 분의 작품인 <기철이의 라면탈환기>입니다. RPG 만들기 VX Ace로 만든 작품이고 액션 어드벤쳐 게임인데 분위기가 '병맛 게임'입니다. 이 게임은 검정고무신 3기 제20화 <꼬부랑 트위스트>를 패러디한 게임입니다. <꼬부랑 트위스트>의 내용을 대략적으로 설명하자면, (스포일러가 될 수 있어서 접기로 처리했습니다.)어느 날 기영이와 친구들은 그 당시에는 귀했던 라면이라는 것을 보..

▷타작 게임/리뷰, 공략 :: 2016.08.27 22:12

퀵 정렬 (루비) 1편

루비로 퀵 정렬 알고리즘을 구현한 예제입니다.여기서는 기존의 교환식 퀵 정렬 대신 병합식 퀵 정렬로 구현하였습니다. 이는 퀵 정렬에 병합 정렬 알고리즘을 접목시킨 것으로, 교환식 퀵 정렬의 단점이었던 불안정성(정렬 키 값이 같은 데이터끼리 순서가 정렬 후 서로 바뀔 수 있는 성질)을 해소하였습니다.코드는 다음과 같습니다. def quick_sort(a, randompivot = true) return a if a.length <= 1 #..

★프로그래밍/Ruby :: 2016.08.25 22:35

병합식 퀵 정렬

병합식 퀵 정렬 알고리즘에 대해 포스팅합니다.이를 이해하려면 먼저 퀵 정렬이라는 알고리즘에 대해 이해할 필요가 있습니다.우선 우리가 흔히 알고 있는 퀵 정렬은 버블 정렬처럼 데이터의 값을 서로 바꾸는 '교환 정렬' 방식입니다. 여기서는 교환식 퀵 정렬이라고 부르겠습니다.먼저 교환식 퀵 정렬이 어떻게 돌아가는지 보자면, [4, 6, 1, 7, 8, 2, 3, 5] 이렇게 뒤죽박죽이 된 배열이 있다고 했을 때, 맨 앞의 4를 기준값으로 잡은 후 한 번..

★프로그래밍 :: 2016.08.25 22:00

병합 정렬 (파이썬)

파이썬으로 병합 정렬 알고리즘을 구현한 예제입니다. 병합 정렬에 대한 설명은 이미 루비로 병합 정렬 구현하기 포스트에서 했으니 여기서는 따로 하지 않겠습니다. 코딩 구조를 보면 루비와 비슷하다고 느껴질 수도 있겠으나 둘은 엄연히 다른 언어입니다. 파이썬 병합 정렬 코드를 일단 짜 보자면... def merge_sort(a): if len(a) <= 1: return a # 배열 개수가 1 이하이면 그냥 리턴, 아니면 계속 진행 half =..

★프로그래밍/Python :: 2016.08.25 20:26

병합 정렬 (루비)

루비에서 병합 정렬 알고리즘을 구현한 예제입니다. 우선 병합 정렬의 개념에 대해 먼저 설명드리자면, 정렬을 수행한 데이터를 반씩 쪼갠 다음 정렬 과정에서 다시 붙여나가는 정렬 방식입니다. 예를 들어, 배열 [4, 1, 2, 3]이 있다고 합시다. 그러면... 이 배열을 정렬하기 위해 반으로 쪼개 [4, 1] [2, 3]으로 만듭니다. 그리고 [4, 1]을 다시 쪼개 [4] [1]로 만들면, [4]는 원소가 하나이므로 더는 쪼갤 수 없고 [1]도 마..

★프로그래밍/Ruby :: 2016.08.25 12:36

.sort 메소드로 안정 정렬 구현하기

정렬 알고리즘에 대해 공부하다 보면 안정 정렬(stable sort)과 불안정 정렬(unstable sort)에 대해 들어 보신 적이 있을 것입니다. 이 둘의 차이가 무엇인지를 일단 간단히 설명드리자면, 정렬 키 값이 같은 데이터들에 대해 정렬 전의 순서가 정렬 후에도 유지될 것이 보장되면 안정 정렬이라고 하고, 키 값이 같은 데이터들의 순서가 정렬 후 서로 바뀔 가능성이 있으면 불안정 정렬이라고 합니다.예를 들어, 배열이 [4, 4, 1, 6, 7..

★프로그래밍/Ruby :: 2016.08.24 17:22

.shuffle - 배열의 원소들을 뒤섞는 메소드

이전 포스트에서 루비 프로그래밍에는 배열에 .sort 메소드가 있다는 글을 작성했습니다..sort 메소드는 별도의 알고리즘 구현 없이 원소들이 이리저리 뒤섞인 배열을 원소의 값대로 정렬해 주는 메소드라고 하였습니다. 그러면 정반대로 원소들을 이리저리 뒤섞는 메소드도 있을까요? 네. 있습니다.일단 아래 코드를 봅시다. arr = Array.new 1.upto(10) {|x| arr << x } puts sprintf("%s", arr) (a..

★프로그래밍/Ruby :: 2016.08.24 12:59
1 2 3 4 5
Today 48    Yday 46    Tot 56,858
Juwan Park
Juwan Park's blog is powered by Daum and TISTORY.
Contemporary Blue for TISTORY.
Designed by Juwan Park. Creative Commons License
▲ TOP