전체 글 135

[프로그래머스] 완주하지 못한 선수

문제: 설계: 1)hashmap을 이용하여 key = name, value = 횟수 로 설정한다. 2)if문으로 get을 이용하여 해당 name의 value가 0인지 검증하고, 0이라면 participant의 name을 put으로 넣으면서 value를 1로 넣는다. 0이 아니라면, get으로 value값을 가져와 그 값에서 1을 증가시킨 값을 put으로 다시 넣는다. 3)completion의 name을 가져와 해당 name으로 get을하여 hashmap에서 value를 가져오고 가져온 value에서 -1을하고 다시 hashmap에 put으로 넣는다 4)hashmap의 key값을 탐색하여 그 value가 0이 아닐 시, 해당 key값을 결과값에 저장한다. 시행착오: 2)와 3)을 아주 간단하게 코드한줄로 ..

[JAVA] arraylist 다루기

int,float,double 형 변수 : 파란색 char,string,list 형 변수 : 빨간색 색깔있는건 변수라고 생각하면됨 ※사용하기 위해서는 import java.util.ArrayList; 를 선언해 주어야 한다 1. arraylist 선언 ArrayList list = new ArrayList(); 2. list.add - arraylist에 성분추가 사용예시: list.add(1) 3.list.get(index) - arraylist에서 index 의 성분값 가져오기 사용예시: list.get(index) 4.list.remove(index) - arraylist에서 index 삭제(뒤에 성분은 삭제 후 당겨짐) 사용예시: list.remove(index) 5.list.size() - ar..

알고리즘/참고 2020.05.28

[프로그래머스] k번째 수

문제: 설계: commands 배열은 이차배열이기 떄문에 이중 for문을 써야하지만 열의수는 3으로 고정되어있기때문에 for문을 하나만 사용하기로 설계하였다. 1.for문을 돌려 commands행렬의 각 행마다의 행렬을 획득한다. 2.그 행렬 안에서 첫번째성분- start포인트 , 두번째성분-end포인트 ,세번째 성분-check포인트 로 변수를 할당한다 3. for문의 마지막에서 arraylist를 선언한 후 list에 조건에 맞는 값을 넣기위해 for문을 돌려 start포인트 - end 포인트까지의 array성분을 add한다 4.완성된 list를 list.sort(null)을 이용해 오른차순으로 sort 한 후 list.get(check포인트)를 통해 arrylist에서 값을 받아와서 answer행렬에..

[JAVA] 문자열 함수로 다루기

int,float,double 형 변수 : 파란색 char,string 형 변수 : 빨간색 색깔있는건 변수라고 생각하면됨 1. Integer.parseInt - String을 문자그대로 int형으로 전환 사용예시 : int number = Integer.parseInt(String_number); 2. toCharArray() - String을 char형 배열로 전환 사용예시 : char [] char_value = string_value.toCharArray(); 3.substring(start,end) - String을 start번째에서 end번째 까지 자른다 사용예시 : String_value.substring(1,2);-1번째에서 2번째까지 자름 String_value.substring(3);-3..

알고리즘/참고 2020.05.28

[프로그래머스] LV1-1

문제 설계 사실 문제가 너무 쉬워서 설계라고 할것도 없다. for문 안에서 입력받은 Stirng 문자열의 문자단위로 하나씩 바라보며 값을 읽고, 해당 대상이 아스키코드로 65 이상인지 아닌지, 문자열의 길이가 4와 6인지 아닌지. 크게 두가지로 검증을 한 후 결과값으로 True, false 만 리턴하면 될것이라고 생각했다. 시행착오 코딩을 손놓은지 오래라서, 어떤 문법을 써서 해당 설계안을 구현할지가 문제였다. 1.입력받은 String 문자열을 어떻게 문자단위로 하나씩 자르고 숫자와 비교할까? 처음에는 substring함수를 사용하여 문자단위로 자르고 그것을 int형으로 바꿔서 비교하려고 했으나, Integer.parseInt를 쓰면 문자열 그대로 int형으로 바뀔뿐이지 아스키코드가 되는건 아니였다.(e..

프로그래머스를 시작

IT회사에 다니면서도, 전공이 컴퓨터쪽이 아니였기때문에 알고리즘 관련 기본 소양이 없었다. 비록 지금 하고있는 일은 알고리즘을 전혀 몰라도 상관없는 서버 쪽이지만, 회사에서 개발언어 TEST를 보기도하고, IT관련 종사자로써 알아둬야할것 같아서 간간히 프로그래머스 또는 백준을 풀어보면서 실력을 쌓아올릴려고 한다. 프로그래머스 일기탭을 만든 이유는 풀었던 문제는 풀이과정을 생생히 기록해둬서 나중에 참고하거나, 나의 성장도를 확인하기 위함이다~

[AWS] Jenkins를 이용한 오토스케일링 배포설계[1]

1.개요 요즘 클라우드가 강조되면서 오토스케일링이라는 기술이 떠오르고있다. 배포방식에는 여러 방법이 있겠지만, 이러한 오토스케일링을 적용하였을때 적어도 기존에 jenkins를 이용한 배포는 힘들어진다. 이유는, scale-in,out 을 하면서 ip가 유동적으로 바뀐다는데에 있다. 기존의 jenkins 배포는 보통, maven이나 ant를 이용해 ip를 직접 집어넣는 방식이기 때문이다. 2.설계 jenkins를 사용하면서, 오토스케일링이 적용된 서버에 배포 가능하도록 설계목표를 세웠다. 내용은 다음과 같다. 1.ant스크립트를 통해 개발VM에 접속하여 오토스케일링 대상 서버 목록을 조회하는 쿼리 를 날린다. 2.출력된 결과를 ant스크립트 내의 변수로 받아온다 3.foreach문을 통해 받아온 ip갯수만..

AWS 2020.05.19

[ant] foreach 사용법

1.개요 jenkins로 ant를 이용해서 배포를 하다보면, 불편한점이 있다. 서버 한두대의 배포는 property값을 지정하고 그에 맞게 코딩을 하면 된다. 하지만 여러대의 서버에 배포를 할경우, 설정해야할 property의 값도 매우 많고 똑같은 내용의 코드를 여러번 반복하는 하드코딩이 되어버리며,가독성도 떨어진다 이때 쓸 수 있는것이 foreach문이다. 2.설명 ------------------------------------------------------------------- foreach list 에 들어갈 값은 문자열이다, 문자열은 ',' 로 구분되어있으야 하며 foreach문에서 ','기준으로 문자열을 분할한다. target 에 들어갈 값은 반복이 필요한 target명이다 param 에..

CI_CD/ant 2020.05.18