java
-
배열 arrayComputer Science/자료구조 2023. 11. 20. 00:01
배열 Array 많은 수의 데이터를 다룰 때 사용 장점 각 데이터와 인덱스의 관계가 1:1 -> 접근 속도가 굉장히 빠른 이유 1 데이터가 메모리상에 연속적으로 저장됨 -> 접근 속도가 굉장히 빠른 이유 2 단점 배열의 생성시 배열의 크기를 지정해야 한다. 데이터의 추가 삭제가 번거로움 -> 가변 길이 배열은 배열의 크기를 변경할 때마다 새로운 배열을 생성 -> 데이터 삭제 시 인덱스를 유지하기위해 빈 공간을 유지하기 때문에 비효율적이다. 자바에서 사용 //1. 기본 자료형 int[] arrIntegerA = new int[3]; int[] arrIntegerB = new int[]{0, 0, 0}; int[] arrIntegerC = {0, 0, 0}; arrIntegerC[2] = 0; arrInte..
-
백준: 최소, 최대코딩테스트 문제 풀이/백준 2023. 11. 20. 00:01
문제 내 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); StringTokenizer sz = new StringTokenizer(br.readLine()); int num; in..
-
Queue 큐Computer Science/자료구조 2023. 11. 20. 00:01
큐 Queue 선입선출 = FIFO = LIFO = 들어온 순서대로 나감 Java 큐는 자바에선 인터페이스로 존재하기 때문에 Queue 자체를 사용하려면 Queue 인터페이스를 상속 받아 구현해야 한다. 구현하는 대신에 Queue를 상속받아 활용한 LinkedList를 사용할수도 있다. Q.add( data ) = 큐에 data 입력 Q.poll() = 큐에서 값을 꺼냄 -> 맨 앞에 위치하는 값이 나온다. -> 값을 그냥 삭제하지 않고 들고 나오기 때문에 , 이 값을 사용하려면 적당한 변수에 담아주면 된다. -> int outNum = Q.poll() Q.peek() = 지금 사용 할 수 있는 값(맨앞에 있는 값)을 복사해오는 메서드 Q.contains( data ) = 큐에 data가 들어있는지 확인..
-
프로그래머스 : 기능개발코딩테스트 문제 풀이/프로그래머스 2023. 11. 20. 00:01
문제 설명 내 코드 class Solution { public static int[] solution(int[] progresses, int[] speeds) { int[] answer = {}; for (int i = 0; i < progresses.length; i++) { progresses[i] = ((100 - progresses[i]) % speeds[i] == 0) ? (100 - progresses[i]) / speeds[i] : (100 - progresses[i]) / speeds[i] + 1; } int cnt = 0; for (int i = 0; i < progresses.length; i++) { if (progresses[i] == 0) continue; cnt++; for (i..
-
백준 : 회전하는 큐코딩테스트 문제 풀이/백준 2023. 11. 20. 00:01
문제 내 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = st.hasMoreTokens..
-
프로그래머스 : 같은 숫자는 싫어코딩테스트 문제 풀이/프로그래머스 2023. 11. 20. 00:01
문제 설명! 나의 접근 방법 ZeroBase 강의에서 들었던 내용 중에 비슷한 내용이 있었기 때문에, 너무 어렵지 않게 풀 수 있었다. (조금 어려웠음) 찾아보니 강사님 코드가 훨씬 더 간결하고 쉬웠던것 같다. 강의를 다시 찾아서 학습해보고 내 코드 리팩토링 해야겠다! 💪 내 코드 public class Main { public static void main(String[] args) { // 23.03.13 선택문제 programmers int[] a = new int[]{1,1,3,3,0,1,1}; solution(a); } public static int[] solution(int[] arr) { int[] answer = {}; int now = 0, next = 1; while (true) { ..
-
백준 25556번 : 포스택코딩테스트 문제 풀이/백준 2023. 11. 20. 00:01
문제 나의 접근 방법 나는 이 문제를 힌트 없이 풀어보려고 시도했다가 한 3시간 동안 엉뚱하게 출력되는 결과만 보고있었다..ㅋ큐ㅠㅠ 나의 접근 방법은 문제를 그대로 읽어서 그대로 코드화 하는것이었는데 그러면 풀 수 없는 문제였다. 이 문제는 오름차순으로 출력할 수 있도록 입력된 숫자들을 4개의 스택에 담을 수 있는가? 라고 받아들였어야 했다. 랜덤으로 담아서 스택 4개 중에 의도하여 출력이라고 써있지만, 풀이를 위한 접근으로는 의도해서 담아 의도한 결과를 출력할수 있는가? 였던 것... ㅠㅠ 정답을 맞춘 코드는 다음과 같다. 내 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; imp..
-
Stack 스택Computer Science/자료구조 2023. 11. 20. 00:01
자료구조 첫 번째 학습 주제 : 스택 Stack 후입 선출 형식으로 데이터를 관리하는 자료형이다. First In Last Out : 첫번째로 들어오면 마지막으로 나감 Last In First Out : 마지막에 들어오면 첫번째로 나감 마지막에 들어온 사람이 자리가 없어서 문 앞에 앉아있다가 제일 첫번째로 나감 🤣 Stack은 데이터가 입력된 순서의 역순으로 처리되어야 할 때 사용한다. ex : 함수 콜 스택, 수식 계산, 인터럽트 처리 등등 스택에서 사용하는 용어 void push( data ); : stack에 data 입력 Object peek() : 스택의 top 위치에 존재하는 값을 보여줌. -> top 위치의 값을 복사해온다고 생각하면 좋을것 같다. Object pop() : 스택의 top 위..