일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- DFS
- 운영체제
- 네트워크
- 프로그래밍
- 프로그래머스
- dp
- OS
- kick start
- 리눅스
- 그래프
- 파이썬
- 킥스타트
- 코딩
- 백준
- nlp
- BFS
- 코딩 테스트
- PYTHON
- google coding competition
- 동적프로그래밍
- 구글 킥스타트
- 동적 프로그래밍
- CSS
- 알고리즘
- linux
- 순열
- 코딩테스트
- AI
- 딥러닝
- 브루트포스
- Today
- Total
목록PYTHON (123)
오뚝이개발자

문제설명 n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요. 다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능합니다. 제한사항 섬의 개수 n은 1 이상 100 이하입니다. costs의 길이는 ((n-1) * n) / 2이하입니다. 임의의 i에 대해, costs[i][0] 와 costs[i] [1]에는 다리가 연결되는 두 섬의 번호가 들어있고, costs[i] [2]에는 이 두 섬을 연결하는 다리를 건설할 때 드는 비용입니다...

문제설명 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들면, 문자열 s가 abcdcba이면 7을 return하고 abacde이면 3을 return합니다. 제한사항 문자열 s의 길이 : 2,500 이하의 자연수 문자열 s는 알파벳 소문자로만 구성 입출력 예 입출력 예에 대한 설명 입출력 예 #1 4번째자리 'd'를 기준으로 문자열 s 전체가 팰린드롬이 되므로 7을 return합니다. 입출력 예 #2 2번째자리 'b'를 기준으로 aba가 팰린드롬이 되므로 3을 return합니다. 풀이 주어진 문자열 s의 부분 문자열들을 모두 검..

문제설명 제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제합니다. 빈 큐에 데이터를 삭제하라는 연산이 주어질 경우, 해당 연산은 무시합니다. 입출력 예 입출력 예에 대한 설명 16을 삽입 후 최댓값을 삭제합니다. 비어있으므로 [0,0]을 반환합니다. 7,5,-5를 삽입 후 최솟값을 삭제합니다. 최대값 7, 최소값 5를 반환합니다. 풀이 굳이 힙을 사용하지 않고도 풀 수 있다. 구현이 중심인 문제이기에 문제의 조건에 따라 if문을 적절히 사용하여 구현하면 된다. def solut..
파이썬의 sorted()는 정렬 조건을 설정해줄 수 있다. 여러 개의 요소를 갖는 튜플을 원소로 갖는 리스트라면 두 번째 요소값을 기준으로 정렬한다던가 혹은 lambda 함수를 이용하면 다중 조건으로 설정해줄 수도 있다. a = [(4,0), (4,3), (4,2), (3,2), (2,1), (1,0)] # 인자 없이 sorted()를 사용하면 리스트 아이템의 각 요소 순서대로 정렬 # 첫 번째 요소가 같으면 두 번째 요소로 비교 b = sorted(a) print(b) # [(1, 0), (2, 1), (3, 2), (4, 0), (4, 2), (4, 3)] # key인자에 lambda 함수를 넘겨주면 반환값을 가지고 비교해 정렬 # 이 때, key로 전달되지 않은 요소에 대해선 정렬하지 않음 c = ..
파이썬에서 리스트를 정렬해야하는 경우가 많다. 이 때 사용할 수 있는게 .sort()와 sorted()이다. 여기선 sort()와 sorted()의 차이 그리고 오름차순, 내림차순으로 정렬하는 방법을 살펴보자. sort()와 sorted() a = [1, 5, 3, 8, 4] a.sort() print(a) # [1, 3, 4, 5, 8] b = [1, 5, 3, 8, 4] print(sorted(b)) # [1, 3, 4, 5, 8] print(b) # [1, 5, 3, 8, 4] sort()는 리스트형의 메소드이고, sorted()는 파이썬 내장함수이다. a.sort()라고 했을 때 원래의 리스트 a의 결과가 정렬된 형태도 변경되어 저장된 것을 알 수 있다. 이에 반해, sorted(b)의 경우 리스..

문제설명 고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다. 고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요. 제한사항 차량의 대수는 1대 이상 10,000대 이하입니다. routes에는 차량의 이동 경로가 포함되어 있으며 routes[i][0]에는 i번째 차량이 고속도로에 진입한 지점, routes[i][1]에는 i번째 차량이 고속도로에서 나간 지점이 적혀 있습니다. 차량의 진입/진출 지점에 카메라가 설치되어 있어도 카메라를 만난것으로 간주합니다. 차량의 진입 지점, 진출..

문제설명 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 제한사항 N은 1 이상 9 이하입니다. number는 1 이상 32,000 이하입니다. 수식에는 괄호와 사칙연산만 가능하며 나누기 연산에서 나머지는 무시합니다. 최솟값이 8보다 크면 -1을 return 합니다. 입출력 예 입출력 예에 대한 설명 풀이 혼자 생..

문제설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[i..