알고리즘 11

[JAVA] 우선순위 큐 사용, 스택 사용

coding-factory.tistory.com/603 [Java] PriorityQueue(우선순위 큐) 클래스 사용법 & 예제 총정리 우선순위 큐(Priority Queue)란? 일반적으로 큐는 데이터를 일시적으로 쌓아두기 위한 자료구조로 스택과는 다르게 FIFO(First In First Out)의 구조 즉 먼저 들어온 데이터가 먼저 나가는 구조를 가집니다 coding-factory.tistory.com pridiot.tistory.com/68 정리 잘된 블로그 참고

알고리즘/참고 2021.01.18

[JAVA] String 관련 함수 모음

1. String 값 일치 여부 판단 str1.equals(str2) - String 형 str1과 str2가 일치하는지 확인 2. String 의 특정위치 성분을 char형으로 반환 str.charAt(i) - String형 str변수의 i번쨰 위치한 문자를 반환(ex str = KOREA , str.charAt(1) = 'O' ) 3. String 문자열 일괄 대문자 or 소문자로 변경 str.toUpperCase() str.toLowerCase() - ex) str = "aAbCC" , str.toUpperCase() = "AABCC" , str.toLowerCase() = "aabcc" 4. String 문자열 자르기 str.substring(int start , int end) - str의 st..

알고리즘/참고 2021.01.11

[JAVA] Hashmap 다루기

int,float,double 형 변수 : 파란색 char,string,list 형 변수 : 빨간색 그 외 변수 : 볼드체 색깔있는건 변수라고 생각하면됨 1. hashmap 선언 HashMap hashmap_temp = new HashMap(); ※안의 형태는 자유 2. hashmap 에 값 input hashmap_temp.put(key, value); 3. key값으로 hashmap 에서 value 가져오기 hashmap_temp.get(key); 4. key값이 없으면 defualt 값을 가져온다 hashmap_temp.getOrDefault(key,default);

알고리즘/참고 2020.06.01

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

문제: 설계: 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..