와…

인사이트 역사상 가장 많이 분이 자발적으로 참석하시는 이벤트가 아닐까 할 정도로, 열화와 같은 성원을 해주시니 그저 감사할 따름입니다. ㅎㅎ

성원에 힘입어, 1주차 두 번째 문제가 나갑니다.

이벤트가 진행될수록 문제가 조금 까다로워지니,

잘 읽고 답해주세요~ ^^

유의사항

1. 풀이과정이나 해답 등은 각자 블로그에 올리신 후, 트랙백 혹은 댓글로 알려주세요.

트랙백 주소 : http://www.insightbook.co.kr/post/3855/trackback

(트랙백은 조금 시간이 걸린 후 등록됩니다.)

2. 블로그 글 제목을 다음처럼 작성해주세요.

‘문제로 풀어보는 알고리즘 149쪽 문제 3.c 풀이’

3. (선택사항 : 글에 『문제로 풀어보는 알고리즘』 표지를 넣어주시면 감사하겠습니다. ㅎㅎ)

4. 각 문제별 응모 기한은 다음 문제가 올라오기 전까지이며, 마지막 문제는 1주일간 응모받습니다.

문제

『문제로 풀어보는 알고리즘』149쪽 문제 3.c

자연수 n을 입력받아 집합 {0, 1, 2, …, n-1}을 하나 이상의 집합으로 나누는 방법을 모두 출력하는 프로그램을 작성하세요.

[실행 예]

input n: 3

{0, 1, 2}

{0} {1, 2}

{1} {0, 2}

{2} {0, 1}

{0} {1} {2}

* 참고 *

1. n의 범위는 크게 상관이 없지만, 대략 16 이하라고 가정하시면 되겠습니다. ^^

2. 집합으로 나눈 경우를 출력하는 방법은 상관없습니다.

– {1} {0, 2}를 {0, 2} {1}로 표현해도 되고, 1, 0 2로 표현해도 됩니다. (다른 형식도)

– 또, {0} {1, 2}가 먼저 출력되든, {0} {1} {2}가 먼저 출력되든 상관 없습니다. 빠짐없이 출력하기만 하면 됩니다.

상품

3주간 진행될 『문제로 풀어보는 알고리즘』『구글러가 전하는 IT 취업 가이드』『코딩 인터뷰 완전 분석』 발간 기념 문제 풀이 이벤트에 참여해 정답을 올리신 분 중,

한 분께는 HP 프로라이언트 마이크로서버를,

다섯 분께는 요즘 가장 핫! 한 아이템 중 하나인 Raspberry Pi를 각 하나씩 선물로 드립니다.

(Raspberry PI는 구입하려는 사람이 많아 공급이 수요를 따라가지 못하고 있다니 저희가 주문해 입수하는 대로 보내드릴 겁니다.)