본문 바로가기

Python25

[Greedy] 이코테 - 곱하기 혹은 더하기(py) 문제 각 자리가 숫자(0부터 9)로만 이루어진 문자열 S가 주어졌을 때, 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 숫자 사이에 'x' 혹은 '+' 연산자를 넣어 결과적으로 만들어질 수 있는 가장 큰 수를 구하는 프로그램을 작성하세요. 단, +보다 x를 먼저 계산하는 일반적인 방식과는 달리, 모든 연산은 왼쪽에서부터 순서대로 이루어진다고 가정합니다. 예를 들어 02984라는 문자열이 주어지면, 만들어질 수 있는 가장 큰 수는 ((((0+2)x9)x8)x4) = 576입니다. 또한 만들어질 수 있는 가장 큰 수는 항상 20억 이하의 정수가 되도록 입력이 주어집니다. 입력 조건 첫째 줄에 여러 개의 숫자로 구성된 하나의 문자열 S가 주어집니다.(1 2023. 7. 11.
[Greedy] 이코테 - 모험가 길드(py) 문제 모험가 길드장인 동빈이는 모험가 그룹을 안전하게 구성하고자 공포도가 X인 모험가는 반드시 X명 이상으로 구성한 모험가 그룹에 참여해야 여행을 떠날 수 있도록 규정했다. N명의 모험가에 대한 정보가 주어졌을 때, 여행을 떠날 수 있는 그룹 수의 최댓값을 구하라. 입력 조건 첫째 줄에 모험가의 수 N이 주어집니다. (1 = min_info: max_info = max(info) n -= max_info info.remove(max_info) groups += 1 print(groups) 책 풀이를 확인하고 나면 말도 안되는 코드.. 오름차순으로 정렬은 잘 해줬지만, 이후 list에서 최댓값을 찾아 그 수만큼 먼저 그룹으로 만들어주어 시간이 훨씬 걸린다. (통과 못하는 테스트 코드도 있을 것 같다) - .. 2023. 7. 9.
[Greedy] 이코테 - 1이 될 때까지(py) 문제 어떠한 수 N이 1이 될 때 까지 다음의 두 과정 중 하나를 반복적으로 선택해 수행하려고 한다. 단, 두번째 연산은 N이 K로 나누어 떨어질 때만 선택할 수 있다. N에서 1을 뺀다. N을 K로 나눈다. N과 K가 주어질 때 N이 1이 될 때 까지 1번 혹은 2번의 과정을 수행해야 하는 최소 횟수를 구하는 프로그램을 작성하시오. 입력 조건 첫째 줄에 N(2 2023. 7. 9.
[인공지능(AI) 기초 다지기] Numpy의 여러 기능 / 실습 코드 * Numerical Python - Numpy 💡 아래 내용은 부스트코스(boostcourse) 인공지능(AI) 기초 다지기 강의를 듣고 공부하며 내용을 정리한 글입니다. 더 자세한 내용은 실제 강의를 들어보길 추천합니다 😃 🐍 Numpy(Numerical Python)란? - 파이썬 과학 처리 패키지 - 파이썬의 고성능 과학 계산용 패키지 - Matrix와 Vector와 같은 Array 연산의 사실상의 표준 특징 - 일반 List에 비해 빠르고, 메모리 효율적 - 반복문 없이 데이터 배열에 대한 처리를 지원함 - 선형대수와 관련된 다양한 기능을 제공함 - C, C++, 포트란 등의 언어와 통합 가능 📝 Contents numpy ndarray Handling shape Indexing Slicing .. 2023. 2. 3.
[인공지능(AI) 기초 다지기] Pythonic Code 파이썬다운 코드를 작성해보자! - list comprehension, enumerate, zip, lambda, generator, asterisk(*) .. 🐍 파이썬 스타일 코드 Pythonic Code란? - 파이썬 특유의 문법을 활용하여 효율적으로 표현한 코드. 📝 Contents - split & join - list comprehension - enumerate & zip - lambda & map & reduce - generator - asterisk list comprehension - 기존 List 사용하여 간단히 다른 List를 만드는 기법 - 포괄적인 List, 포함되는 리스트라는 의미로 사용됨 - 파이썬에서 가장 많이 사용되는 기법 중 하나 - 일반적으로 for + append 보다 속도가 빠름 list comprehension을 사용하면 반복문 안에 반복문을 길게 써주지 않고 한줄에 중첩 반복문도 쓸 수 있고, 조건을 함께 써줄 수 있.. 2023. 1. 23.
[인공지능(AI) 기초 다지기] Python 자료 구조(Data Structure) : Stack & Queue, Dict, Collections 🐍 Python의 자료 구조(Data Structure) 기본 데이터 구조 - 스택과 큐(stack & queue with list) - 튜플과 집합(tuple & set) tuple : 값의 변경이 불가능한 리스트, 선언 시 []가 아닌 ()를 사용. 리스트의 연산, 인덱싱, 슬라이싱 등을 동일하게 사용. set : 값을 순서 없이 저장, 중복 불허하는 자료형, set 객체 선언을 이용하여 객체 생성. 다양한 집합 연산 사용 가능 (union_합집합, intersection_교집합, difference_차집합) - 사전(dictionary) : 데이터를 저장할 때는 구분 지을 수 있는 값을 함께 저장, 구분을 위한 데이터 고유 값을 Identifier(식별자) 또는 Key라고 함. Key 값을 활용해 .. 2023. 1. 19.