본문 바로가기

전체 글232

네트워크(널널한 개발자)-1 저번에도 네트워크에 중요한 단어들에대해 알아봤다. 그건 이 강의를 보기 전 공부에 더 도움이 되기 위해서 공부했던것들이고, 이제부터 널널한 개발자님의 네트워크 강의를 보면서 정리하고, 내가 다시 봤을 때 이해하기 쉽게 하기 위해서 포스팅 해보도록 하겠다. https://www.youtube.com/watch?v=k1gyh9BlOT8&list=PLXvgR_grOs1BFH-TuqFsfHqbh-gpMbFoy&index=1 ㅇ 1강 먼저 네트워크 공부를 하려면 OSI 7계층에 너무 개념적인것이기 때문에 목숨걸지 말라한다. 컴퓨터의 구조는 3개의 layer로 이뤄져있다. user mode 영역, kernal mode 영역, H/w 영역 그림에 있는 OSI 7계층 보단 옆에 4계층으로 나눈게(DOD) 좀 더 맞다고.. 2023. 11. 6.
더맵게(Priority Queue, Min Heap) 최근에 풀던 문제보다 정답률이 더 낮은문젠데, 왜 이렇게 쉽지? 싶었다. 항상 처음에는 오 쉽네ㅋㅋ했긴했는데 막상 풀다보면 어려운 그런 문제들이 많았어서 이것도 그런가보다 했는데 풀다보니 진짜 쉬워서 왜쉽지?? 하고 테스트를 돌려보니.. 효율성테스트가 있는 문제였다. 그럼 그렇지 내가 처음 푼 코드를 보자. public static int solution(int[] scoville, int K) { //몇번 믹스할지 int cnt = 0; //moreThanK가 true를 반환할때까지 mix해주고 카운트 갯수세줌. while (!moreThanK(scoville, K)) { scoville = mix(scoville); cnt++; //만약 스코빌이 하나남았는데도 K보다 작다면 -1 반환해줌. if (s.. 2023. 11. 2.
모음사전 문제이해에 한시간을 쏟았다. 결론을 낸건 DFS를 사용해서 풀어야 한다는 것이다. 내 이론은 이렇다. A시작점을 기준으로 왼쪽으로 X는 추가하지않는것이고, Ax, AAx, AAAx, AAAAx, AAAAA, AAAAE,AAAAI, AAAAO, AAAAU, 다시 한칸 더 위로가서, AAAEx, AAAEA, AAAEE.... 이런식으로 완전탐색으로 풀면되겠다 싶었다. 하지만 나의 능력의 한계에 부딪혀 결국 치트키를 썼다. 그래서 얻어낸 코드를 보며 코드의 설명을 해보겠다. public class Main { static final char[] WORDS = {'A', 'E', 'I', 'O', 'U'}; static final int MAX_LENGTH = 5; public static int solutio.. 2023. 11. 1.
알고리즘 공부(3) - 완전탐색을 알아보자 ㅇ 완전탐색이란? 가능한 모든 경우의수를 다 체크해서 정답을 찾는 방법. 3자리수 자물쇠가 있다면 000부터 999까지 모든 경우의수를 다 따져보는것이다. 이렇게 되면 효율성은 떨어질 수 있으므로 문제에 대한 파악이 중요하다. ㅇ 완전탐색의 방법 - Brute Force : 반복/조건문을 활용해 모두 테스트하는 방법 - 순열 : n개의 원소중 r개의 원소를 중복허용없이 나열하는 방법 - 재귀 호출 - 비트 마스크 : 2진수 표현기법을 활용하는 방법 - BFS, DFS를 활용하는 방법 ㅇ Brute Force 기법 public class BruteForceExample { public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5, 6,.. 2023. 10. 31.