코딩테스트 파이썬 8

파이썬 코딩테스트 스터디 7주차 #4 - 영어 끝말 잇기

1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다.마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다.앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다.이전에 등장했던 단어는 사용할 수 없습니다.한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다.1번 사람이 자신의 첫 번째 차례에 tank를 말합니다.2번 사람이 자신의 첫 번째 차례에 kick을 말합니다.3..

파이썬 코딩테스트 스터디 7주차 #2 - 몸풀기 문제 : 간단한 유니온 - 파인드 알고리즘 구현하기

Operations에 있는 연산 모두 수행 후 집합 개수 반환하는Solution 함수 구현하기 상호배타적 집합 표현시 다음 두 연산 필요1. uinon(x,y) : x와 y가 속한 두 집합 합치기2. find(x): x가 속한 집합의 대표 원소 찾기 operations라는 배열은 수행할 연산 의미['u',1,2]는 노드 1과 노드 2에 대해 union 연산 수행['f',3] 노드 3의 루트 노드 찾기, find연산 수행  제약 조건0  ≤  k  ≤  1,000 : 노드의 개수1  ≤   len(operations)  ≤  1000,000operations[i][0]은 문자열 'u' 또는 'f' 중 하나'u'는 union연산, uinon 연산 뒤로는 두 개의 정수 x,y가 나옴'f 는 find 연산, f..

파이썬 코딩테스트 스터디 6주차 #3 - 이진 탐색 트리 구현

첫 번째 인수 lst를 이용하여 이진 탐색 트리를 생성하고, 두 번째 인수 search_list에 있는 각 노드를 이진 캄색 트리에서 찾을 수 있는지 확인하여True 또는 False를 담은 리스트 result를 반환하는 함수 solution()작성 하세요. 제약 조건lst의 노드는 정수로 이루어져 있으며, 1,000,000개를 초과하지 않는다.이진 탐색 트리의 삽입과 탐색 기능 구현search_list의 길이는 10 이하입출력 예lstsearch_lstanswer[5,3,8,3,2,1,7,10][1,2,5,6] [1,3,5,7,9][2,4,6,8,10]   문제 분석하고 풀기 이진 탐색 트리 재점검검색하려는 값과 현재 노드 비교, 같으면 검색 완료검색하려는 값이 현재 노드의 값보다 작으면, 왼쪽 서브 트..

파이썬 코딩테스트 스터디 3주차 #6 - 크레인 인형 뽑기 게임

문제크레인 인형 뽑기 게임  아래 그림에서 보면 1. 가로 한줄을 배열 1개라고 본다.2. 즉 2차원 배열로 생각한다. board = [ [], [], [], [], [] ]3. 1,2,3,4,5 열에서 하나씩 뽑는데 같은 그림이 연속으로 쌓였을 때, 둘다 없앤다.4. 빈칸은 0 , 각 그림은 각기 다른 숫자로 변형5. 크레인 작동 배열 moves가 주어질 때,     사라진 인형 개수 반환하는 함수 solution() 구현하기.    이번 문제는 책에 아주 자세히 설명되어서 대부분 책의 내용을 그대로 추출!  앞서 제일 위에서 봤던 동물 이미지들이  아래와 같은 2차원 배열을 → 변수 bucket(stack)에 담기[총 5개에 stack으로 만들고,거꾸로 쌓기 이때 0은 push하지 않는다.  문제 풀..

파이썬 코딩테스트 스터디 2주차 #8 - 문제 07 방문길이

문제 07 방문 길이 조건1. 이미 지나갔던 길은 Count : X 조건2. 가로10 세로10 좌표평면을 벗어가는 경우 Ignore한다.  즉, 8번째 동작과 9번째 동작은 Count하지 않는다.  아래 그림 역시 7,8번째는 밖으로 벗어나는 경우므로 그냥 무시하고9번째 동작 수행 이 책의 핵심 풀이 과정1. Set 활용2. 기능 분리     - is_valid_move    - update_location 3. 양 방향으로 set에 add해주고 나중에 1/2하기  def solution(dirs): x, y = 5,5 #첫 시작점을 (5,5)라고 가정하고 문제 풀이 ans = set() #겹치는 좌표는 1개로 처리하기위해 Set을 활용 for dir in di..

카테고리 없음 2024.07.06

파이썬 코딩테스트 스터디 2주차 #5 - 문제 04 모의고사 - 수포자

https://programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 코딩테스트 연습 > 완전탐색 > 모의고사수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려고한다.- 1번 수포자가 찍는 방식 : 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...- 2번 수포자가 찍는 방식 : 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5 ...- 3번 수포자가 찍는 방식 : 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1,..

파이썬 코딩테스트 스터디 2주차 #4 - 문제 03 두 개 뽑아서 더하기

지난 시간 문제 1~2번 파이썬 코딩테스트 스터디 2주차 #3 - 몸풀기 문제문제 01 배열 정렬하기정수 배열을 정렬해서 반환하는 solution()함수 완성하기.제약 조건 · 정수 배열의 길이는 2 이상 10^5(10의 5제곱) 이하· 정수 배열의 각 데이터 값은 -100,000 이상 100,000이하입hoony926.tistory.com   문제 03 두 개 뽑아서 더하기정수 배열 number가 주어진다.서로 다른 2개 수를 더해 만들 수 있는 모든 수를 배열에 오름차순으로 담아 반환하는 solution()함수 완성하시오. 제약 조건 · numbers 길이는 2 이상 100이하· numbers의 모든 수는 0 이상 100 이하 입력출력[2,1,3,4,1][2,3,4,5,6,7][5,0,2,7][2,5..

파이썬 코딩테스트 스터디 2주차 #3 - 몸풀기 문제

문제 01 배열 정렬하기정수 배열을 정렬해서 반환하는 solution()함수 완성하기.제약 조건 · 정수 배열의 길이는 2 이상 10^5(10의 5제곱) 이하· 정수 배열의 각 데이터 값은 -100,000 이상 100,000이하입니다. 입력출력[1,-5,2,4,3][-5,1,2,4,3][2,1,1,3,2,5,4][1, 1, 2, 2, 3, 4, 5][1,6,7][1, 6, 7] 정렬 함수 : "리스트 변수".sort()def solution(arr): arr.sort() return arr * 주의사항위와 같이 함수를 작성할 경우인자로 들어온 arr 원본이 변형된다. 따라서 정렬이 완료된 별도의 새로운 리스트를 반환받으려면list(sorted("리스트 변수"))def solution(arr) : ..