목록전체 글 (261)
당니의 개발자 스토리
1-A : 재귀함수로 푸는 방법 우리가 앞서서 이 일곱난쟁이라는 문제를 순열로 풀었습니다. 바로 do-while(next_permutation) 이라는 함수로 구현했죠. 근데 제가 순열이라고 했을 때 do-while도 있지만, 그냥 우리가 직접 재귀함수를 만들어서 하는 것도 있다고 했죠. 오늘은 재귀함수를 직접 만들어서 구현하는 방법에 대해서 얘기를 해볼까 합니다. '선생님 이거 그냥 do while로 계속 하면 되지 않나요?' 자 근데 여러분 문제를 봤을 때 다양한 방법으로 푸는 연습을 하는 것은 굉장히 중요합니다. 왜? 이렇게 하면은 사고가 유연해지니까요. 그러니까 여러분들이 코딩 테스트를 푼다라고 했을 때는 어떤 문제에 대해서 빠르게 하나의 최적의 방법을 찾아내서 그걸 기반으로 해야 되겠죠. 코딩테..
내 풀이(http://boj.kr/9635425d4767436c926250dd497800f2) - 맞음 공유 소스 보기 www.acmicpc.net 1-A 자 오늘은 백준 2309 일곱난쟁이 문제를 풀어보도록 할게요. 일곱난쟁이를 뽑아야 하는 문제입니다. 문제를 읽어보시면 순서와 상관없이 9개 중에 7개를 뽑는거죠. 그러면 순서와 상관없이 7개를 뽑는다? 9 Combination 7이죠. 그런데 사실 첫번째 풀이 방법은 9 Permutation 7로도 뽑을 수가 있어요. 물론, Permutation은 순서와 상관있이 뽑는 거죠. 근데 이 n 자체가 작기 때문에 원래는 Combination으로 뽑아야 되지만, Permutation도 가능해서 두 가지 방법을 모두 보여드릴 겁니다. 9 Permutation ..
[필수개념] 중복된 요소를 제거하는 방법과 unique() 오늘은 중복된 요소를 제거하는 로직을 살펴보도록 하겠습니다. 정말 코딩 테스트에서 많이 나오는 로직이에요. 이거를 푸는 방법이 두 가지가 있는데, 두 가지에 대해서 좀 얘기를 해보도록 할게요. 첫 번째는 예를 들어서 배열이 이렇게 있다고 할게요. 그런데 여기 중에서 중복된 거를 다 제거해서, 오름차순으로 뽑아내는 로직이 있다고 합시다. 그럼 이렇게 뽑아내는 거겠죠. 첫 번째 방법은 Map을 사용하는 거예요. 사실은 배열을 사용해도 돼요. Map을 사용해가지고 1이라는 Key에 배열의 원소인 1이 들어오면, 일단 Key 값(value)에 1을 할당해요. 그리고 나서 배열을 순차적으로 탐색하면서 배열의 원소가 또 1이죠. 그럼 key 값을 확인해봅니..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.