본문 바로가기

분류 전체보기

(114)
[Algorithms] palindrome 회문 단순코드 회문(완전탐색) 접근 방법 문자열의 길이를 N이라고 했을때, 앞에서 읽거나 뒤에서 읽거나 같은 문자열을 회문이라한다. 1. 2n-1개의 문자열을 모두 탐색해서 각각이 회문이 되는지 탐색 -> 앞의n개의 문자가 일치하는것 찾기 이 방법은 구현은 쉽지만 시간 제한이 있을때 시간초과가 날 확률이 높다 2. 문자열에 추가할 n-1개의 문자열을 모두 탐색, 각각의 것이 회문이 되느지 확인하기 n번째 문자가 고정되어 1번보다는 좋은 접근 방법이지만 문자열의 길이가 10000이면 9999번을 탐색하게된다. 3. 2n-1의 회문을 완전탐색하고 앞의 n개의 문자가 일치하는것을 찾기 회문을 모두 찾는것은 힘들지만 모두 찾으면 n개의 문자가 ㅇ리치하는지 쉽게 확인할 수 있으며 그 중에서 문자열의 길이가 가장 짧은 것을 선택..
[What I Learn] HashMap사용 package TopCoder; import java.util.HashMap; public class 즐거운파티_P82 { public static void main(String[] args) { String first [] = {"fishing", "gardening", "swimming", "fishing"}; String second [] = {"hunting", "fishing", "fishing", "biting"}; int ans =0; int max; /* * 기존 코드 * * */ //for(int i =0 ;i
[What I Learn] Apache Maven 메이븐 소프트웨어 객체 모델기반 프로젝트 관리 도구. 관리에 필요한 대부분의 작업을 표준화, 자동화하여 곤리 요소들에 대한 일관된 기준을 제시 메이븐 역할 디렉토리 구조 프로젝트 혹은 개발자마다 다른 구조를 가질수 있는데 메이븐을 사용하면 기준에 가깝게 정형화된 구조 사용으로 혼란 방지. 빌드 절차 메이븐의 추성화한 프로세스를 따르면 일관된 바식으로 프로젝트 관리, 운영 의존성 라이브러리 관리 소프트웨어 개발시 재사용율을 높이기위해 모듈화 및 여러개의 구성요소 조합 필요, 오픈소스 라이브러리 사용 증가로 관리해야 할 외부 라이브러리 중가에 따라 프로젝트의 복잡도가 높아진다. 따라서 메이븐은 라이브러리 저장소를 통해 의존 관계에 있는 라이브러리를 자동 관리 해준다. 플러그인을 통한 다양성 기능 확장 소스코..
DevOps 에 관하여 DevOps 공정 : 과거에는 개발과 운영파트가 구분되어 기능을 배포하는데 수개월이 걸렸으며 차세대 프로젝트처럼 다음 버전으로 릴리즈하는데 많은 비용과 시간이 들었다. DevOps는 개발과 운영을 동시에 관리하여 작은기능 단위로 본다면 빠른시간안에 배포하여 운영이 가능하다. **계획 - 개발 - 빌드 - 테스트 - 릴리스 - 배포 - 운영 - 모니터링 순서** DevOps 구간별 활동 - 애자일 개발 계획 - 서비스 개선을 계획하고 추적 번경 요구 검토 및 개선 작업 계획수립 우선순위에 따른 요구사항 관리 작업상황 가시화 및 추적 스크럼, 칸반이라는 방식을 사용 개발 소스코드 저장소를 통해 버전관리 필수 테스트 자동화를 위한 테스트 코드 작성 소스코드 인스펙션, 동료검토 및 리팩토링 수행 Saas(sof..
[Algorithms] 백준 11726 2XN 타일링 Dynamic programming 사용 n =1일때 방법 1개 n =2일때 방법 2개 n =3일때 방법 3개 n =4일때 방법 5개 n =5일때 방법 8개 n =6일때 방법 13개 이처럼 dp[n] = dp[n-2]+ dp[n-1] 이다. 이를 활용해서 문제 해결 package boj; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class boj_11726_2xn타일링 { private static int N; private static int[] dp; public static void main(String[] args) throws Exception { Buffer..
[Algorithms] 2차원 배열 순회 /* * 행 우선 순회 * -----------> * -----------> * -----------> * 순서 */ int i; int j; map = new int [10][15]; for( i =0; i
[Go] Function call 함수 GO 함수에서는 func 키워드를 사용하여 정의한다. 자바에서 메서드를 선언할때 public static void [name] (parameter){}와 같은 형태로 선언한다. 선언된 함수의 의미니느 public(access modifier)하게 즉 어디서나 접근가능하며 static( 같은곳의 메모리 주소를 바라본다)한 함수를 사용하며 return type은 void이므로 return value가 없고 이 함수를 호출할때 parameter를 사용한다는 뜻이다. 그렇다면 GO에서는 함수를 어떻게 사용할까? 아래의 예시처럼 따로 접근제어자를 사용하지 않으며 특이한점은 return type을 파라미터 뒤에 쓴다는 것이빈다. func main() { text := "안녕하세요 하켱입니다\n" var a i..
[Go] 변수 사용하기 변수 선언하기 아래처럼 var [name] [type]과 같이 선언하는것이 일반적이다. 아래처럼 할당할 경우 go는 zero value 가 할당된다. 숫자형 변수 : 0할당, string형 변수 : ""(빈문자열)할당, bool형 변수 : false할당 // 변수 선언하기 var N int var f float32 var s string var b bool 여러 변수 한번에 선언하기 var a,b,c int = 1,2,3 var s1,s2,s3 string ="hi", "hello", "hola" Short Assignment Statement(:=) Go에서는 함수를 func로 선언하는데 이 함수안에서는 아래의 코드처럼 :=를 사용할 수 있다. package main func main() { //var..