dynamic programming
-
프로그래머스 문제 풀이 N으로 표현24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 24. 15:36
이 문제는 이시윤 강사님의 프로그래머스 강좌 "파이썬을 무기로, 코딩테스트 광탈을 면하자!"를 보고 정리한 내용입니다. 문제 URL N으로 표현 Contents 문제 지문 파악하기 강사님의 알고리즘 풀이 구르미의 알고리즘 풀이 문제 지문 파악하기 이 문제의 요점은 사칙연산을 통해서 number를 최소로 표현하는 N의 개수를 구하는 문제입니다. 먼저 예제를 들어서 문제를 파악해보도록 하겠습니다. 12 = 5 + 5 + (5/5) + (5/5) (6개) = 55/5 + 5/5 (5개) = (55 + 5)/5 (4개) 12는 다음과 같이 6개의 5, 5개의 5, 4개의 5를 구할 수 있습니다. 즉 12를 표현하는 5로 이루어진 수식을 만들기 위해서 필요한 5의 최소 개수는 4개라는 뜻입니다. 어떻게 풀 수 있..
-
알고스팟 문제 풀이 BOGGLE24년 11월 이전/레거시-알고스팟-알고리즘 문제 해결 전략 2019. 10. 8. 16:59
책 "알고리즘 문제 해결 전략"에 나오는 algospot 문제 "BOGGLE"에 대한 풀이입니다. 목차 문제 해결 전략 - 무작정 풀기 코드 전문 - 무작정 풀기 문제 해결 전략 - 동적 계획법 코드 전문 - 동적 계획법 BOGGLE 문제 URL은 다음과 같습니다. BOGGLE URL 문제 해결 전략 - 무작정 풀기 먼저 제가 접근한 문제 해결 전략은 "무작정 풀기"입니다. 문제의 입력 분석과 해결 조각 찾기 우리가 문제를 해결하기 위해선는, 5x5의 보드판 board, 길이 10 이하의 문자열 s라는 입력이 필요하다는 것을 알아야 합니다. 실제 테스트 케이스 1개당 문자열 N개를 받습니다만, 결국 이 문제의 핵심은 "보드판에서 인접한 위치만 이동함으로써 문자열을 만들 수 있느냐"입니다. main 함수의..