[자료구조] 재귀(Recursive)

재귀(Recursive) 적절한 데이터를 저장하는 방법 및 구조를 공부하는 자료구조(Data Structure), 효율적인 방법으로 문제를 푸는 알고리즘(Algorithm)을 공부하기 위해서는 재귀에 대한 이해가 필요합니다. 프로그래밍에서 재귀는 ‘주어진 문제를 해결하기 위하여 하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 방식’이라 정의합니다. 볼드체로 표기한 ‘하나의 함수’와 ‘자신을 다시 호출’하는 독특한 구조 덕분에 재귀는 재밌는 표현이 많습니다. 1 2 3 4 5 6 7 8 어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다. "재귀함수가 뭔가요?" "잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어....

February 22, 2021 · 5 min · Pacientes

[알고리즘] 2021 카카오 코딩테스트 메뉴 리뉴얼

[2021 카카오] 메뉴 리뉴얼 2021 카카오 블라인드 공채 코딩테스트 메뉴 리뉴얼 문제 풀이입니다. 본 문제는 프로그래머스 홈페이지에서 직접 풀어볼 수 있습니다. 메뉴 리뉴얼 문제 설명 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 새로운 메뉴를 제공하기로 결정했습니다. 어떤 단품메뉴들을 조합해서 코스요리 메뉴로 구성하면 좋을 지 고민하던 “스카피"는 이전에 각 손님들이 주문할 때 가장 많이 함께 주문한 단품메뉴들을 코스요리 메뉴로 구성하기로 했습니다....

February 15, 2021 · 3 min · Pacientes

[알고리즘] 2021 카카오 코딩테스트 순위 검색

[2021 카카오] 순위 검색 2021 카카오 블라인드 공채 코딩테스트 순위 검색 문제 풀이입니다. 본 문제는 프로그래머스 홈페이지에서 직접 풀어볼 수 있습니다. 순위 검색 문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 카카오는 하반기 경력 개발자 공개채용을 진행 중에 있으며 현재 지원서 접수와 코딩테스트가 종료되었습니다. 이번 채용에서 지원자는 지원서 작성 시 아래와 같이 4가지 항목을 반드시 선택하도록 하였습니다. 코딩테스트 참여 개발언어 항목에 cpp, java, python 중 하나를 선택해야 합니다....

February 5, 2021 · 6 min · Pacientes

[알고리즘] 2021 카카오 코딩테스트 신규 아이디 추천

[2021 카카오] 신규 아이디 추천 2021 카카오 블라인드 공채 코딩테스트 신규 아이디 추천 문제 풀이입니다. 본 문제는 프로그래머스 홈페이지에서 직접 풀어볼 수 있습니다. 신규 아이디 추천 문제 설명 카카오에 입사한 신입 개발자 네오는 “카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다....

February 5, 2021 · 4 min · Pacientes

[알고리즘] 2018 카카오 코딩테스트 방금그곡

[2018 카카오] 방금그곡 2018 카카오 블라인드 공채 코딩테스트 방금그곡 문제 풀이입니다. 본 문제는 프로그래머스 홈페이지에서 직접 풀어볼 수 있습니다. 방금그곡 문제 설명 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 ‘방금그곡’ 서비스를 이용하곤 한다. 방금그곡에서는 TV, 라디오 등에서 나온 음악에 관해 제목 등의 정보를 제공하는 서비스이다. 네오는 자신이 기억한 멜로디를 가지고 방금그곡을 이용해 음악을 찾는다. 그런데 라디오 방송에서는 한 음악을 반복해서 재생할 때도 있어서 네오가 기억하고 있는 멜로디는 음악 끝부분과 처음 부분이 이어서 재생된 멜로디일 수도 있다....

February 5, 2021 · 4 min · Pacientes