프로그래머스 - 네트워크 문제 주어진 2차원 행렬에서 서로 연결된 네트워크가 총 몇가지가 있는지를 리턴하는 문제 주어진 행렬로 그림을 그려보면 문제의 예시가 쉽게 이해된다. 먼저 각 컴퓨터는 네트워크에 연결되어 있기 때문에 (0, 0), (1, 1), (2, 2)와 같이 본인 자신은 연결되어 있어 1로 표기된다. 그 외에는 행에서 열로 연결된다라는 가정하에 그림을 그려보면 된다. 예를 들어 0행의 1열이 1이라면 0번 컴퓨터와 1번 컴퓨터가 연결되어있다라는 뜻이 된다. 코드 def dfs(com, computers, visited): visited[com] = True for idx, value in enumerate(computers[com]): if value and not visited[idx]: ..
프로그래머스 - 콜라 문제 문제 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다 주면 몇병을 받을 수 있는가? 단 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 위의 문장이 콜라 문제의 전제이다. 콜라를 받기 위해 주어야하는 병 수 a, 빈 병을 받고 마트가 주는 콜라 병 수를 b, 빈 병의 개수를 n이라 하여 입력으로 주어졌을 때, 몇 병의 콜라를 받을 수 있는가? 코드 def solution(a, b, n): cnt = 0 while n >= a: d, m = divmod(n, a) n = d * b + m cnt += d * b return cnt 설명 문제를 일반화하여 규칙을 찾으니 쉽게 해결할 수 있었다. 문제의 해답은 몫과 나머지에 있다. 주어..
프로그래머스 - 1차 비밀지도 문제 한 변의 길이가 공백(" ") 또는 벽("#") 두 종류로 이루어져있는 정사각형 배열이 주어진다. 두 지도가 주어져서 두 지도를 합쳤을 때, 공백인 부분은 여전히 공백이나 하나의 지도라도 벽으로 표시된 부분이 있다면 이 부분은 합쳤을 때 벽이 된다. 암호화된 배열을 이진수로 바꿨을 때, 벽은 1, 공백은 0에 해당한다. 문제에서 주어진 지도를 해석하라. 코드 def convert_binary(n, arr): return [bin(num)[2:].zfill(n) for num in arr] def solution(n, arr1, arr2): arr1 = convert_binary(n, arr1) arr2 = convert_binary(n, arr2) array = [st..
프로그래머스 - 소수 만들기 문제 정수가 담긴 리스트가 입력으로 주어졌을 때, 이 리스트의 원소 3가지를 더했을 때 이 값이 소수가 되는 경우의 수를 구하는 문제 [1,2,3,4] 리스트의 경우 (1, 2, 4) 의 조합의 합이 7로 소수이다. 코드 from itertools import combinations def solution(nums): cnt = 0 for num in combinations(nums, 3): tmp = sum(num) for i in range(2, tmp): if tmp % i == 0: break else: cnt += 1 return cnt 설명 삼총사 문제와 접근 방법은 동일하다. 리스트의 조합을 먼저 구한 후 각 조합의 합을 구한다. 각 조합의 합을 반복문을 돌려서 ..
- Total
- Today
- Yesterday
- DP
- Elasticsearch
- Flutter
- 빅데이터를지탱하는기술
- Algorithm
- HDFS
- cka
- kafka
- OS
- 파이썬
- sqoop
- CS
- 백준
- Python
- BOJ
- CSAPP
- 이코테
- Espher
- heapq
- 프로그래머스
- logstash
- Hadoop
- oozie
- elasticsaerch
- kubernetes
- mahout
- 네트워크
- DFS
- GROK
- 빅데이터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |