728x90
반응형

전체 글 117

[Java Spring] MVC Board 만들기 - 프롤로그

난 비전공자다. 국비교육으로 파이썬을 배우고 간단한 인공지능에 대해서 공부한 것이 전부다. 끄흑 배우면 배울수록 알고리즘, 자료 구조에 대한 지식의 필요성을 뼈저리게 느낀다. 공부해야지.. 흠흠 서두르지말고 한걸음 한걸음 나아가자 메챠쿠챠 어떻게 또 취업을 했다. 근데 첫번째 과제가 Java 공부하기다. 뿌엥 Python만 보다가 Java 처음 봤을 때 이딴 극비효율적인 언어 왜 씀!!!!!!!!했지만 써야한다. ㅇㅇ 팀장님께서 감사하게도 공부하라고 지시하셨다. Java jsp만으로 게시판을 제작해보고 그다음은 spring만 가지고 mvc의 개념을 익히라고 하셨다. 그래서 열심히 구글링하고 예제를 따라가면서 했는데 꼭 어디선가 jquery나 css나 뭐냐 ajax같은걸 써버린다. 갑자기 난이도 상승 띠용..

자료구조 B-tree 기본 개념 파악 (2)

저번 시간에 이어서 시간복잡도 개념을 아주아주 간단하게 개념만 익히는 포스팅을 하고자 한다. 처음에 이게 뭐 어쩌라고 싶은 내용이었는데 깊게 들어가면 어려운데 가볍게 이해하는 정도는 어렵지 않았다. 시간복잡도는 간단하게 말하면 알고리즘이 한번 도는데 걸리는 시간을 나타낸다! 예를 들면 오늘 하루의 계획이라는 알고리즘이 있다고 하자 오늘의 계획 1. 광화문에서 점심 약속 2. 합정에서 쇼핑하기 3. 강남에서 저녁 약속 4. 헬스장 가기 여기서! 각 지점에 어떻게 도달할 지는 사람마다 다를 것이다! 누구는 버스를 타고 누구는 택시를 타고 누구는 걸어서 혹은 지하철을 타고 혹은 환승하고 다양한 계획을 가지고 각각 다를 것인데 이렇게 진행하는 과정에서 걸리는 시간을 시간복잡도라고 이해하면 좋다. 최상의 경우 :..

Study 2021.12.27

자료구조 B-tree 기본 개념 파악 (1)

한양대학교 연구실에 지원하면서 B-tree에 대해서 공부하였다. 컴퓨터 공학을 전공하지 않고 국비로 급하게 공부한 입장에서 자료구조의 중요성은 익히 들었지만 제대로 공부하진 않았었는데 이번 기회에 하나의 개념에 대해서는 꽤나 깊게 공부하였다. 1. 자료구조 B-tree 개념 파악 2. 시간복잡도(Time Complexity) 및 공간복잡도 개념 파악 3. 트리 종류 여러 개 파악하면 좋지만 그 중에서도 가장 관련성 높은 이진 트리(binary tree) 개념 파악 4. B-tree 개념 다시 숙지 5. 왜 B-tree인지 파악 B-tree는 Balanced Tree의 일종이다. 항상 밸런스를 유지해서 편향되지 않고 노드레벨이 편향된 것에 비해서 효율이 좋다. 이진트리 같은 경우 한쪽으로 편향될 경우 시간..

Study 2021.12.21

맥북 M1에 Homebrew 설치하는 방법

노트북이 필요해서 뭐 살까하다가 가성비 좋은 맥북에어를 샀다. 본격적으로 깃허브 사용법도 배워보고 이것저것 해볼라고 하니 homebrew라는 것을 설치해주는 것이 좋대서 다운 시도 근데 뭐가 안되서 한참 지웠다가 깔았다가 했다. 일단 사이트는 brew.sh Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 이분 블로그보고 참고하였다. m1은 인텔맥과 다르게 brew가 /usr/local/에 설치되지 않고 homebrew 자체적으로 opt/homebrew/ 디렉토리를 생성해서 다른 패키지들고 그 안에서 관리한다고 하네요 homebrew는 맥OS용 패키지 관리 어플리케이션이다. 쉽게 말해 집사 같은 역할을 한다. 일단 이분이 있어야 다른 ..

Study/참고사항 2021.12.14

[프로그래머스] 자릿수 더하기, 정수 내림차순으로 배치하기

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 넘 쉬웠다. def solution(n): answer = 0 n = str(n) for i in n: answer += int(i) return answer 꼼수긴 한데 문자열로 바꿔주고 각 글자 하나씩 들여와서 int로 바꿔주고 더해준다. Simple 다른 사람들도 보니까..

코딩테스트 2021.12.07

[프로그래머스]이상한 문자 만들기

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 단어당 홀수 짝수를 구분해야하는데 전체 문장에서 홀수짝수인 줄알고 한참 뻘짓했다. def solution(s): answer = '' spl = s.split(" ") for k in spl: i=0 for j in k: if i % 2 == 0: answer += j.upper() elif i % 2 == 1: answer += j.l..

코딩테스트 2021.12.07

[프로그래머스]x만큼 간격이 있는 n개의 숫자

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr 쉬운 문제 걍 길이가 n def solution(x, n): a = x answer = [] answer.append(x) while(len(answer) != n): a += x answer.append(a) return answer 될때까지 x계속 더해서 리스트에 append하면 됨

코딩테스트 2021.12.05

[프로그래머스]행렬의 덧셈

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/12950 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr 행렬의 덧셈 numpy를 쓰면 한방에 해결되긴 할텐데 직접해보고 싶었다. 케이스별로 행, 열의 갯수가 다르기 때문에 각각의 행과 열의 갯수를 세고 더해주는 과정이 필요해보였다. def solution(arr1, arr2): answer = [] for i in range(len(arr1)): tmp = [] for j ..

코딩테스트 2021.12.05

[프로그래머스]없는 숫자 더하기

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/86051 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 문제가 참 쉽다. 0~9까지 숫자 중에서 없는 숫자들의 합을 구하란다 게다가 numbers에는 0~9까지밖에 안들어있다. 보자마자 0~9까지 더한 거에서 numbers빼면 되겠네 생각했다. def solution(numbers): a = sum(range(10)) return a - sum(number..

코딩테스트 2021.12.05

[프로그래머스]최소직사각형

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 문제는 이해하기 쉬웠다. 그래서 한 명함의 크기를 가로를 크게, 세로를 작게 소팅하여 정리해준다음에 가로에서 최대값과 세로에서 최대값을 구하면 될 것이라고 생각해서 코드를 짰다. def solution(sizes): resizes = [] for i in range(len(sizes)): resizes.append(sorted(sizes[i], reve..

코딩테스트 2021.12.05
728x90
반응형