AI가 이렇게 발전하는데 이거 왜 공부해야함? - 프로세스와 스레드
·
CS
0. 난 어디까지 공부해야 할까 (공통)AI가 발전하면서 어떤 것을 공부해야 하고 얼마만큼 깊이 공부해야 할지 모르겠다.그래서 GPT 에 물어봤다."AI가 이렇게 발전하는데, 다 해주는데, 이런 시대에서 개발자로서 살아남으려면 난 어떤 걸 공부해야 하지? "강의나 유튜브에서나 그렇듯 비슷한 얘기를 꺼낸다. AI가 코드를 만들어낼 수는 있어도 책임지는 것은 사람이다.이 지식들은 구현을 위한 것이 아니라 진단, 판단, 검증, 결정을 위한 지식이다.그렇게 제안해준 커리큘럼으로 하나씩 정리하면서 왜 이 지식들은 AI가 발전해도 필요할까를 알아볼 생각이다.그 첫 번째 주제가 프로세스와 스레드. 1. 들어가며공부하기전에 프로세스와 스레드에 대해 물어본다면나는프로세스는 실행 중인 프로그램이고 프로세스끼리 독립적이..
유니온파인드 | 분리집합 | 디스조인트셋
·
알고리즘 & 자료구조/내용 정리
유니온파인드 코드 예시 [프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 네트워크https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 코드 그래프를 만들어서 각mirrorpi.tistory.com가장 많이 도움받은 곳 [실전 알고리즘] 부록 D - Union-Find네 반갑습니다. 이번 부록 D에서는 Union-Find 자료구조를 익혀보겠습니다. 지금까지 부록 A, B, C는 크게 까다로운 것 없이 되게 무난했는데 이번 부록 내용은 원래 강의 단원에 넣기에는 좀..
[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 네트워크
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 코드 그래프를 만들어서 각 숫자마다 bfs로 연결된 부분을 방문체크를 하고 0 ~ n-1 에서 bfs 메서드가 발동된 부분을 세어주면된다.나는 이 방법보단 유니온파인드(분리집합)이 먼저 생각이 들었기 때문에 각 연결점을 union 해주고부모노드를 저장하는 p 배열의 루트의 갯수(음수로 랭크를 관리)가 네트워크의 갯수가 된다.import java.util.*;class Solution { int[] p; public int ..
[프로그래머스 알고리즘 고득점 Kit][그래프][Java] 가장 먼 노드
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정답 코드문제를 대충 읽어서 최단 거리로 이동했을 때 가장 먼 노드들의 개수를 구하는 건데가장 먼 노드의 거리를 구했었다가 틀리고 바로 수정 bfs로 1번 노드에서 각 노드에 도달하기까지 지나온 최소 개수를 count배열로 저장하고가장 많이 지나온(가장 먼) 노드를 찾기 위해 max 로 최대를 계속 업데이트해주고마지막에 count 배열에 max와 같은 가장 멀리 떨어져 있는 노드들의 개수를 세고 반환해 준다.import java.util.*;class S..
[프로그래머스 알고리즘 고득점 Kit][완전탐색][Java] 최소직사각형
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 코드가장 긴 변을 찾으면 모든 명함의 가로 세로 중 긴 변을 포함할 수 있다.그러면 명함들의 긴 변들을 가장 긴 변에 맞춰 넣고나머지 변들 중에 최대가 나머지 사이즈가 될 것이다. 나는 스왑을 하긴 했지만 다하고 나니 그냥widthMax = Math.max(widthMax, Math.max(sizes[i][0], sizes[i][1])); heightMax = Math.max(heightMax, Math.min(sizes[i][0], size..
[프로그래머스 알고리즘 고득점 Kit][해시][Java] 베스트앨범
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제는 알고리즘 초보자라면 꼭 풀어봐야할 문제 같았다.정렬 기준이 여러 개,여러 타입의 변수를 어떻게 관리할 것인가를 고민해볼 수 있는 문제 1. 정답 코드필요한 데이터는 노래 하나에 대해서 장르가 무엇인지그 장르는 총 몇 회 플레이 되었는지이 노래는 몇 회 플레이 되었는지몇 번 노래인지이렇게 뭐가 많이 필요할 때는 가장먼저 클래스를 떠올리는 것같다.배열로 어떻게 할 수는 있겠지만그냥 편하니까.그리고 조금 헷갈렸던 것이장르당 2개씩 가져오는 것을 어..