본문 바로가기

자바

[프로그래머스] 기능개발 - 처음에 문제 이해를 잘못해서 바로전의 숫자보다만 크게 짰었다 그게 아니라 맨앞의 수랑 비교해서 한번에 나가는 것을 계산해줘야한다. - 맨앞의 수보다 큰 값을 만나면 다시 comp수 초기화해서 이 수와 비교 - 동시 배포 갯수를 보내는것!! - 스택/ 큐 부분 문제라 굳이 큐를 썼는데 다른 방법이 더 깔끔할듯.. 추가 케이스 예제를 참고하고 다시 풀어보자 (프로그래머스 boniato님 참고) 예제 1) progresses : [40, 93, 30, 55, 60, 65] speeds : [60, 1, 30, 5 , 10, 7] return : [1,2,3] 예제 2) progresses : [93, 30, 55, 60, 40, 65] speeds : [1, 30, 5 , 10, 60, 7] return .. 더보기
[프로그래머스] 다리를 지나는 트럭 : 자바 🤞내가 푼 풀이( HINT )🤞 1. time을 저장할 배열 : 다리전체를 건너는것 체크 위해서 2. bridge 큐 : 말그대로 다리 역할. 다리에 올라가면 데이터 넣어주고 다리에서 빠져나오면 빼고 3. now : 현재 위치 4. first : 다리에서 처음에 있는 위치 5. sum_w : 다리에 올라가 있는 트럭들의 무게 총 합 💥각자 다리를 지나가는 시간을 time변수에 넣어주고 first의 위치에 있는 time 값이 다리 길이랑 같아지면 큐(bridge)에서 빼냄. (1초 = 1만큼간다) 그리고 first += 1을 해서 first값 이동 💥 다리가 지탱할수 있는 무게(weight) - 다리에 있는 트럭들의 합(sum_w)를 빼서 그다음 트럭 무게가 들어갈 수 있으면 큐에 값을 넣어준다 (= 그 .. 더보기
[프로그래머스] 탑 : 자바 스택 문제 설명 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7인 네 번째 탑의 신호는 높이가 9인 두 번째 탑이, 높이가 5인 세 번째 탑의 신호도 높이가 9인 두 번째 탑이 수신합니다. 높이가 9인 두 번째 탑과 높이가 6인 첫 번째 탑이 보낸 레이저 신호는 어떤 탑에서도 수신할 수 없습니다. 송.. 더보기
[자료구조] 스택 / STACK 알아보기 스택이란? LIFO(Last In First Out), 즉 마지막에 들어간 데이터가 가장 먼저 빠지는 형식인 자료구조이다. 중요 함수 pop() 스택에서 가장 위에 있는 항목을 제거 (삭제) push(item) tem 하나를 스택의 가장 윗 부분에 추가 (삽입) peek() 스택의 가장 위에 있는 항목을 반환 (조회) isEmpty() 스택이 비어 있을 때에 true를 반환 * 자바에는 Stack이 구현되어있어서 쓸 수 있지만 연결리스트로도 직접 구현이 가능하다. 자바 Stack stack = new Stack(); 연결리스트 구현 더보기
[프로그래머스] 타겟넘버 [깊이 / 너비 우선 탐색 (DFS/BFS)] 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 .. 더보기
[JAVA] Iterator 알아보기 Iterator 1. 어느 Collection 객체에도 적용가능 하기 때문에 유지보수/ 확장성 쉽다. 2. 반복적인 일을 맡는 인터페이스 Iterator의 Method hasNext() return값 : 다음 값이 있으면 true / 아니면 false next() return값 :다음 객체 remove() 삭제! Iterator의 예시 - 들어있는 data값 출력 import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Vector; public class test { public static void main(String args[]) { System.out.println("Arrayl.. 더보기
[JAVA] startsWith / endsWith 특정문자열 앞뒤 체크 특정 문자열이 다른 문자열에 앞(startsWith) / 뒤(endsWith)에 있는 지 체크한뒤 return값으로 true 나 false를 준다 String check ="안녕 하이하이"; System.out.println(check.startsWith("안녕"));//true System.out.println(check.startsWith("안녕 "));//true 공백인식 System.out.println(check.startsWith("하이"));//false System.out.println(check.endsWith("하이")); //true System.out.println(check.endsWith(" 하이하이"));//true 공백인식 System.out.println(check.ends.. 더보기
[eclipse error] insert dimensions to complete referencetype integer 쓸자리에 int를 써줘서.... 일반 자료형 말고 Wrapper형을 써줘야한다. * 대문자 구분 잘하기 자료형 래퍼 클래스 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean ex) Arrays.sort(arr, new Comparator(){} => Arrays.sort(arr, new Comparator(){} 더보기