전체 글160 [Python] 백준 10992 별 찍기 #10992 별찍기 import sys N = int(sys.stdin.readline()) for i in range(1, N+1): if i == N: print('*'*(2*i-1)) # 이런 규칙을 생각해내는 것이 중요할 듯 elif i == 1: print(' '* (N-i), '*', sep = '') else: print(' '*(N-i),'*',' '*(2*i-3),'*',sep = '') 개발/Algorithm 2021. 11. 7. [Spring] HikariCP ? 먼저 DB connection pool에 대해 알아보자 사용자의 요청에 따라 무수한 Connection을 생성하다보면 서버에 과부하가 걸리게 된다. 이러한 상황을 방지하기 위해 미리 설정해놓은 일정수의 Connection을 만들어 놓고 이것을 Connection Pool에 보관해두었다가 요청이 발생하면 제공을 해주고 Connection의 사용이 끝난다면 다시 Connection Pool에 반환하여 보관하는 기술을 DB Connection Pool이라고 한다. 이러한 DB Connection Pool을 사용한다면 다음과 같은 장점이 있다. DB접속 설정 객체를 미리 만들어 연결하여 메모리 상에 등록해 놓기 때문에 클라이언트가 빠르게 DB에 접속 가능 DB Connection 수를 제한 할 수 있어서 과도한.. 개발/Java 2021. 11. 7. [Java] Junit이 뭘까.. Junit이란 Java에서 독립된 단위테스트(Unit Test)를 지원해주는 프레임워크이다. 어노테이션 종류 @Test @Test가 선언된 메서드는 테스트를 수행하는 메소드가 된다. jUnit은 각각의 테스트가 서로 영향을 주지 않고 독립적으로 실행됨을 원칙으로 @Test마다 객체를 생성한다. @Ignore @Ignore가 선언된 메서드는 테스트를 실행하지 않게 한다. @Before @Before가 선언된 메서드는 @Test 메서드가 실행되기 전에 반드시 실행되어진다. @Test메서드에서 공통으로 사용하는 코드를 @Before 메서드에 선언하여 사용하면 된다. @After @After가 선언된 메서드는 @Test 메소드가 실행된 후 실행된다. @BeforeClass @BeforeClass 어노테이션은 @.. 개발/Java 2021. 11. 7. [Spring] Maven, Gradle 차이를 알아보자 우선 둘의 차이를 알기위해 각각 알아보았다. Maven같은경우는 스프링프로젝트에서 pom.xml이란 이름으로 쓰고, Gradle은 스프링부트, 안드로이드에서 쓰는걸로 알고있다. 처음에 단순히 알기전엔 Maven같은 도구는 그저 라이브러리를 쉽게 Maven Repository에서 받아오기위해 사용하는건줄 알았지만 아니었다. 물론 쉽게 받아올 수 있지만 그 외에도 다른기능이 많았다. Maven이란? 프로젝트를 진행하게 되면 단순히 자신이 작성한 코드만으로 개발하는 것이 아니라 많은 라이브러리들을 활용해서 개발을 하게 된다. 이 때 사용되는 라이브러리들의 수가 수십개가 훌쩍 넘어버리는 일이 발생해 이 많은 라이브러리들을 관리하는 것이 힘들어지는 경우가 종종 발생하곤 한다. Maven은 이러한 문제를 해결해 줄.. 개발/Java 2021. 10. 31. [Python] 이진 탐색 정렬된 자료를 반으로 나누어 탐색하는 방법 주의점 : 자료는 오름차순으로 정렬된 자료여야 한다. 이진트리, 이진탐색은 코딩 인터뷰 단골 문제 이진 탐색은 O(log N)의 속도로 검색 가능 구현을 위한 준비 target : 찾고자 하는 값 data : 오름차순으로 정렬된 list start : data의 처음 값 인덱스 end : data의 마지막 값 인덱스 mid : start, end의 중간 인덱스 구현개요 배열 전체의 중간 값을 target 값과 비교 중간 값이 target 값보다 큰지, 작은지에 따라 왼쪽, 오른쪽 반 선택 그 부분의 중간 값을 또 target과 비교 (반복) def binary_search(array,target,start,end): while start target: # 배열의.. 개발/Python 2021. 10. 26. 그리디 알고리즘이란? 그리디 알고리즘은 그리디 알고리즘은 탐욕 알고리즘 또는 욕심쟁이 알고리즘이라고도 불리는데, 미래를 생각하지 않고 각 단계에서 가장 최선의 선택을 하는 기법이다. 이렇게 각 단계에서 최선의 선택을 한 것이 전체적으로도 최선이길 바라는 알고리즘이라고 할 수 있다. 코딩 테스트에서 자주 나오는 유형이므로 연습하는 것이 좋다. 개발/Algorithm 2021. 10. 26. [Git] fatal: remote origin already exists.오류 해결 git remote add origin 주소값 을 입력하면 fatal: remote origin already exists. 오류가 뜬다. 그런 경우에는 git remote rm origin 을 입력 후 다시 진행해주면 해결된다!! 개발/etc 2021. 10. 26. 빅 오 표기법 (Big - O notation) 빅오 표기법은 점근적 묘사 방법으로 , 대문자 O에 괄호를 하고 안에 계수를 뺀 차수가 가장 큰 항을 넣어주면 된다. 시간 복잡도의 효율성이 좋은 순으로 나열하면, 이렇게 나열이 가능하다. 이것을 그래프로 보면, 이렇게 기울기가 많이 차이나는 것을 볼 수 있다. 빅오 표기법의 대표적인 예는 다음과 같다. O(1) : 스택에서 Push,Pop O(log n) : 이진트리 O(n) : for 문 O(n log n) : 퀵 정렬, 병합 정렬, 힙 정렬 O(n^2) : 이중 for문, 삽입정렬, 거품정렬, 선택정렬 O(2^n) : 피보나치 수열 개발/Algorithm 2021. 10. 19. 무료로 듣기 좋은 전공 강의 (스크랩) 1. 통계학 기초 : KMOOC - 통계학의 이해 I,II (숙명여자대학교) KOCW에서 워낙 유명했던 여인권 교수님의 통계학 강의를 리뉴얼해서 만든 강좌인데, 매우 유용했습니다. 고등학교 수준의 확률/통계에서 시작해서 어지간한건 다 다뤄주십니다. 2. 선형대수학 : KMOOC - 쉽게 시작하는 기초선형대수학(서울시립대학교), KMOOC - 선형대수학(성균관대학교) 정말 선형대수의 Essential 한 내용들만 다루고 있습니다. 사실 학부에서 수학과 선형대수 수업을 들었었는데, 꼭 필요한 것들을 다시 복습하기에 좋았습니다. 3. 파이썬 기초 : edwith - 파이썬을 활용한 기초컴퓨터프로그래밍(부산대학교) 저의 경우 R이 아니라 파이썬을 인공지능과 데이터 사이언스 모두를 하고 싶다는 이유로 선택했습니다.. 일상/이런저런 2021. 10. 19. [Java] 메소드 호출, 객체 생성 메소드 호출 - 리턴값 = 전자계산기객체.메소드(매개값1, 매개값2, ...); ⇒ int result = Calculator.add(10, 20) 매개값은 메소드를 실행하기 위해 필요한 데이터이다. 객체 생성 - 객체 생성은 간단하게 new 클래스(); 로 생성한다. 여기서 new는 클래스로부터 객체를 생성시키는 연산자이고, 그 뒤에는 생성자가 오는데 그 생성자는 클래스()의 형태를 갖는다. 클래스 변수 선언과 객체 생성을 한 문장으로 작성하자면 클래스 변수 = new 클래스(); ⇒ Student stu1 = new Student(); 처럼 작성이 가능하다. 이 경우엔 stu1 변수가 Student 객체를 참조한다고 볼 수 있는 것이다. 변수의 개수만큼, 즉 new 연산자를 사용한 만큼 Student.. 개발/Java 2021. 10. 19. 큐 / enqueue, dequeue 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 FIFO(Fisrt-In,Fisrt-Out) , LILO(Last-In,Last-Out) 방식으로 스택과 꺼내는 순서가 반대. 알아둘 용어 Enqueue : 큐에 데이터를 넣는 기능 Dequeue : 큐에서 데이터를 꺼내는 기능 기본적으로 파이썬에서는 import queue를 이용해 큐를 만들 수 있다. 그러나 다른 방법으로 만들어 보자. queue_list = list() def enqueue(data): queue_list.append(data) def dequeue(): data = queue_list[0] del queue_list[0] return data #enqueue, dequeue 함수 정의 for index in range(10):.. 개발/Algorithm 2021. 10. 17. 기온 별 옷차림 갑자기 주말 새 엄청나게 기온이 떨어졌다.... 매번 검색하기 귀찮으니 내 블로그에 올려 놓는걸로.. 일상/이런저런 2021. 10. 17. 이전 1 ··· 8 9 10 11 12 13 14 다음