전체 글

Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
·Algorithm (PS)
https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net n = int(input()) task = [] price = [] # price dp = [0] * (n+1) for _ in range(n): t, p = map(int, input().split()) task.append(t) price.append(p) # result 예제 10번에서 예외케이스 처리 -> dp[10]이 최댓값(60) + price[7] 로 갱..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr total_member = 0 total_profit = 0 rates = [10, 20, 30, 40] def calc(rate_list, users, emoticons): temp_member = 0 temp_profit = 0 for user in users: rate, money = user user_profit = 0 for i in range(len(emoticons)): if rat..
# 6 # 3 3 3 3 3 3 # 2 3 3 3 3 3 # 2 2 2 3 2 3 # 1 1 1 2 2 2 # 1 1 1 3 3 1 # 1 1 2 3 3 2 n = int(input()) array = [] for i in range(n): array.append(list(map(int, input().split()))) new_array = list(map(list, zip(*array[::-1])))
·Algorithm (PS)
https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 원래는 row 별 갈수 있는 길, column 별 갈 수 있는길을 각각 함수로 만들어줄까 했다. 그래서 원래는 row 체크중이면 type 1 column 체크중이면 type2로 할까했는데.. 생각해보니까 check_row 함수를 재활용하고 배열을 90도 시계방향으로 돌려서 array를 parameter로 전달하면 될것 같아서 따로 column 을 확인하는 함수를 만들지 않았다 (사실 귀찮아서..) 그래서 코드에 저 ty..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 카카오 2019년도 블라인드 공채 문제이다 솔직히 이제는 이런 문제 안나올 것 같다 ㅋㅋ 카카오는 가끔 이렇게 실질적인 기능 개발을 연상케 하는 문제를 출제하는 것 같다. 확실히 예전보다 지금이 더 코딩테스트 레벨이 상향 평준화 되고 있는 느낌을 받는다. from collections import defaultdict def solution(record): answer = [] table = de..
·Algorithm (PS)
https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net dfs 로 모든 경우를 탐색하는 브루트포스로 풀었다 그런데 코드가 내가 봐도 안예쁘긴하다 다시 리팩토링해봐야겠다 함수를 애용하자 ㅎㅎ ;; import sys import copy sys.setrecursionlimit(10**6) n, m = map(int, input().split()) array = [] total = 0 answer = int(1e9) camera = [] vis..
·Algorithm (PS)
https://www.acmicpc.net/problem/3184 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net 전형적인 dfs/bfs 문제라고 생각함 나는 bfs로 풀었다 from collections import deque r, c = map(int, input().split()) array = [] sheep = 0 wolf = 0 for i in range(r): array.append(input()) dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] visited = ..
·Algorithm (PS)
https://www.acmicpc.net/problem/2461 2461번: 대표 선수 입력의 첫 번째 줄에는 학급의 수를 나타내는 N과 각 학급의 학생의 수를 나타내는 M이 하나의 빈칸을 사이에 두고 주어진다. 단, 1 ≤ N, M ≤ 1,000이다. 두 번째 줄부터 N개의 줄에는 각 줄마다 한 www.acmicpc.net 입력 받은 각각 학급별 선수들을 오름차순으로 정렬하였다. 그리고 pointer 처럼 각각의 0번째 인덱스 값들을 찍어서 비교한다 12 16 43 67 7 17 48 68 14 15 54 77 이 경우 max_value - min_value 값은 14 - 7 = 7 이 된다. 오름차순 정렬에서 , 최댓값과 최솟값의 차이를 줄이기 위해서는 min_value 값을 크게 만들어주기 위해 ..
minjiwoo
minji's engineering note