전체 글

Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
·iOS
콜백 함수 콜백함수 어디서 많이 들어봤는데 대체 뭘까!!!!! callback 함수란 1. 다른함수의 인자로써 이용되는 함수 2. 어떤 이벤트에 의해 호출되어지는 함수 오케이... 엄청 간단한 의미었다 !
·Algorithm (PS)
https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net n = int(input()) a = [] for i in range(n): a.append(input().split()) a.sort(key=lambda x:(-int(a[1]), int(a[2]), -int(a[3]), a[0])) for i in a: print(i[0]) lambda 함수 는 익명함수 ! 즉 이름이 없는 함수이다. runtime에 생성해서 사용할 수 있..
·Algorithm (PS)
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net union 은 visited 여부를 확인하기 위한 리스트이다. index는 while문을 중단시키기 위한 지점이 필요해서 만들었다. for 문 2번 돌면 인구이동을 각 칸에 대해 모두 진행했다는 것이므로 break 로 탈출한다. '인구이동' 즉 while문 한번씩 처음부터 끝까지 실행되는 횟수를 result 변수로 카운트하고 있다. Queue 가 다 비면 -> 연합 구성이 끝났다는 ..
·Algorithm (PS)
이번 문제는 구현하기 좀 까다로웠다 !! 2차원 배열을 제대로 연습할 수 있는 징한 구현문제이다 https://www.acmicpc.net/problem/1451 1451번: 직사각형으로 나누기 첫째 줄에 직사각형의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 직사각형에 들어가는 수가 가장 윗 줄부터 한 줄에 하나씩 M개의 수가 주어진다. N과 M은 50보다 작거나 같은 자연수이 www.acmicpc.net 1. 직사각형을 나누는 방법은 총 6개다 1) 세로로 3분할 2) 가로로 3분할 이렇게 6가지이다. 3) 전체 세로분할 후 가로분할 4) 전체 세로분할 후(R1, R3), 가로분할(R2) 5) 전체 가로분할 후(R1), 세로분할 (R2,R3) 6) 전체 가로분할 후 (R1, R2), 세로분..
코딩 문제 풀 때 굉장히 알아두면 유용한! 문자열을 다룰 때 쓰이는 join 함수 1. 형태 string.join(iterable) 여기서 string 에 들어가는 문자열은 구분자이다. 물론 "".join(iterable) 이렇게 빈 문자열을 붙일 수도 있다. 2. 예시 i) 문자열 리스트를 하나로 합치기 myNumber = ['1','2','3','4','5'] print("".join(myNumber)) ii) 공백 문자를 사이에 두고 문자열 리스트를 하나로 합치기 myNumber = ['1','2','3','4','5'] print("_".join(myNumber)) myStr = ["Hello", "My", "Name", "is", "Minjee"] print("!!!!!!".join(myStr)..
·Algorithm (PS)
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 재미있는 그래프 문제 !! 사실 처음에는 itertools의 permutations 함수를 사용해서 연산자들의 조합을 n-1개 모두 고르는 순열 리스트를 for문으로 돌리려고 했으나 시간초과가 떴다 ;; dfs로 풀면 시간초과 없이 풀 수 있다. 상하좌우를 돌듯이 사칙연산을 재귀호출해주는 것이다 i 는 인덱스이고 now는 현재 계산과정을 거치..
·Algorithm (PS)
https://www.acmicpc.net/problem/18405 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net bfs에서 고려해야 할 점 1. 1초에 한 칸 앞으로 이동할 수 있으며, 현재 몇 초가 경과했는지를 알아야 한다. -> '초' 에 대한 데이터를 어떻게 기록/ 갱신할 것인가 ? 2. 바이러스 숫자가 낮은 순으로 정렬되어야 한다 이부분은 list에 바이러스 정보를 저장할 때 (virus, 시간, x좌표, y좌표) 로 저장해서 sort() 함수를 사용하면 맨 첫번째 vi..
·Algorithm (PS)
https://www.acmicpc.net/problem/10992 10992번: 별 찍기 - 17 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net n = int(input()) print(" "*(n-1) +"*") for i in range(2, n+1): if i == n: print('*'*((i*2)-1)) else: print(" "*(n-i) +'*' + ' '* (2*(i-1)-1) + '*')
minjiwoo
minji's engineering note