본문 바로가기

728x90

알고리즘 예시

(13)
[Baekjoon] 백준 #2798번 파이썬 해답 단계별로 풀어보기 → 브루트 포스에 위치한 문제입니다. Brute-force search 문제부터 보겠습니다. 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드..
[Python algorithm interview] enumerate(), 배열의 사용 파이썬 알고리즘 인터뷰의 2020ver을 리뷰하고 있습니다. 7. 두 수의 합 최근들어 알게된 사실이지만 현재까지 소개한 문제는 모두 해외의 알고리즘 풀이 사이트 LeetCode - The World's Leading Online Programming Learning Platform LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 에서 소개된 문제였습니다. 필..
[Python algorithm interview] List comprehension, 정규표현식, counter 객체 사용 예 파이썬 알고리즘 인터뷰의 2020ver을 리뷰하고 있습니다. 4. 가장 흔한 단어 리스트 컴프리헨션과 관련해서는 지난 파이썬 기초 글에서도 작성한 바가 있습니다. 파이썬_기초단계 알아보기_ep.3 만나려면 조건이 맞아야지 (tistory.com)
[Python algorithm interview] string_2 문자열 뒤집기 파이썬 알고리즘 인터뷰의 2020ver.을 리뷰하고 있습니다. 2. 문자열 뒤집기 이번에는 매우 간단한 문항입니다. 저자에 의하면 투 포인터(Two pointer)라는 방식과 reverse()를 사용하는 방식으로 풀이가 가능합니다. 🎈문제 문자열을 뒤집는 함수를 작성하라. 입력값은 문자 배열이며, 리턴 없이 리스트 내부를 직접 조작하라. 🔑입력 예제 ["h", "e", "l", "l", "o"] ["o", "l", "l", "e", "h"] 두번째 ['H', 'a' , 'n', 'n', 'a', 'h'] ['h', 'a' , 'n', 'n', 'a', 'H'] 🛴 풀이법. ep1 two pointer def se1(s:list[str]): left, right = 0, len(s)-1 while left..
[Python algorithm interview] 파이썬 기초 정리 파이썬 알고리즘 인터뷰에 대한 필자의 리뷰 및 테스트 예제입니다. 파이썬 알고리즘의 기초문제, 문자열부터 시작합니다. 앞전의 내용은 파이썬의 기본적인 내용에 대해서 다루고 있었습니다만 필자의 전 글에서 제시한 내용과 유사하므로 생략했습니다. 다만, 시간복잡도에 대한 내용은 유용한 것으로 보입니다. 멈춰있는 version 난이도 1의 문자열 문항입니다. 1. 유효한 펠린드롬 구해보기 🎈문제 주어진 문자열이 펠린드롬인지 확인하라. 대소문자를 구분하지 않으며, 영문자와 숫자만을 대상으로 한다. 🔑입력 예제 'A man, a plan, a canal: Panama' true 펠린드롬이란? 코딩테스트에 설명없이 처음보는 단어가 계속 등장한다면 여간 당황스러운 일이 아닐 것입니다. 펠린드롬이란 앞에서 부터 읽어도,..
[Baekjoon] 백준 #2738번 파이썬 해답 백준의 단계별 풀어보기 2차원 배열 행렬의 덧셈은 어떻게 만들까요 먼저 이번 문제부터 살펴보겠습니다. 출력자체는 단순합니다. 문제 읽기 문제 N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오. 입/출력 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다. 첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다. 3 3 1 1 1 2 2 2 0 1 0 3 3 3 4 4 4 5 5 100 4 4 4 6 6 6 5 6..

728x90