본문 바로가기

전체 글

(54)
[iOS] 비동기 프로그래밍과 동시성 프로그래밍 이해하고 시작하기 ! 프로그램 (Program) 보조기억장치에 저장된 실행코드 -> 생명이 없는 상태 프로세스 (Process) 하나의 프로그램이 메모리에서 실행되는 작업 단위 프로세스 관리는 운영체제에서 담당 스레드 (Thread) 하나의 프로세스 내에서 실행되는 작업흐름의 단위 보통 하나의 프로세스는 하나의 스레드를 가지고 있지만, 여러 스레드를 가지고 있기도 함 : 멀티스레딩 메인 스레드 : 프로그램이 실행될 때부터 동작하는 스레드 비동기(Asynchronous) 프로그래밍 작업 진행 중, 특정 작업에서 오랜 시간이 걸린다면 이를 기다리지 않고 바로 다음 작업을 실행할 수 있게 하는 방식 많은 시간이 필요한 작업은 별도의 공간에서 진행하도록 하고 메인 스레드에서는 바로 다음 코드를 실행 ➡️ 병렬 ..
MySQL 정리 보호되어 있는 글입니다.
[프로그래머스] 12979. 기지국 설치 (C++) 코딩테스트 연습 - 기지국 설치 N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5 programmers.co.kr 문제 설명 1. 5g가 도달하지 않는 곳에 기지국 설치 2. 최소로 설치할 수 있는 기지국의 개수 출력 풀이 1. N answer에 더해주기 코드 #include #include using namespace std; int solution(int n, vector stations, int w) { int answer = 0; int cnt = 0; int idx = 1; for(int i=0; i 0) { if(width % (w * 2 + ..
[백준] 1922. 네트워크 연결 (C++) 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net 문제 설명 1. 모든 컴퓨터를 연결하는 데 드는 최소 비용 출력 풀이 크루스칼 알고리즘 : '모든' 컴퓨터를 연결하는데 드는 '최소' 비용 코드 #include #include #include using namespace std; int n, m; class Edge { public: int node[2]; int dis; Edge(int a, int b, int c) { this->node[0] = a; this->node[1] = b; this->dis = c; } bool operatordis < edge.dis; } }; class UNION_..
[프로그래머스] 12978. 배달 (C++) 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 문제 설명 1. 각 마을은 양방향으로 연결됨 2. 마을 N까지의 거리가 K 이하면, 배달 가능 3. 마을 1에서 배달을 갈 수 있는 마을의 개수 출력 풀이 플로이드 와샬 알고리즘 1. 각 마을간의 거리를 입력받을 때마다 배열에 저장 (양방향으로!!) 1-1. 마을 a와 b 사이의 경로가 2개 이상일 수 있으니, 입력받을 때마다 최솟값으로 갱신 2. 마을 기준으로 반복문 돌면서 최소 거리 갱신 3. 마을 a -> a 비용은 0 4. 마을 ..
[프로그래머스] 49994. 방문 길이 (C++) 코딩테스트 연습 - 방문 길이 programmers.co.kr 문제 설명 1. 처음 지나는 거리의 길이 구하기 2. 방문했던 곳 또 방문할 수는 있지만, 이미 지나왔던 거리를 통해서 방문했다면 길이에 추가 X 풀이 1. -5 ~ 5 대신 0 ~ 10으로 좌표 설정 2. 좌표를 이동하기에 편리하도록 L, R, U, D을 각 0, 1, 2, 3으로 바꿈 (dx, dy 배열 사용하기 위해) 3. visit 배열에 이 좌표에서 이동한 방향 정보를 담음 (비트마스크 이용 -> 각 1, 2, 4, 8) 4. & 연산 -> 해당 방향으로 이동했었는지 확인 -> 이미 이동했었으면 길이에 더해주지 않고 이동만 함 5. 방향이 아니라 길을 방문했었는지 확인하는 것이 목표이므로 visit 배열의 도착 좌표의 이동 방향 정보..