본문 바로가기

기술블로그334

13. Java Reference Types, 내장 String 클래스 13. Java Reference Types, 내장 String 클래스 메모리에 저장 Reference Types 생성되는 모든 클래스가 Reference Type이다 // planet은 reference type class Planet { } 그 외에 이미 자바에 만들어진 reference types는 String, BigDecimal 등이 있다 Reference Variable 클래스를 토대로 만든 변수를 reference variable이라고 한다 class Planet { } Planet jupiter = new Planet(); // 여기서 jupiter는 reference Variable이다 reference variable은 힙에 저장이 된다 더 나아가, 스택에는 value에는 메모리 공간이.. 2023. 5. 27.
그래프 탐색 🧑‍💻 그래프 탐색 멀티잇 코딩테스트 러닝클래스'Python 5월반 구름이의 여행 연결되어 있는 섬들을 K개 이하로 갈 수 있는지 확인하는 것 BFS를 이용하여, 최단 거리 구하기를 하였다 1번부터 N번 섬까지 못 갈 수도 있음 그러기 위해 flag를 이용하여, 못 가면 False 즉 NO 를 출력하도록 유도 N번 섬에 도착하면 answer에다가 몇 번을 움직였는지 저장을 한 후, K번 이하인지 구별하기 from collections import deque N, M, K = map(int, input().split()) island = [[] for _ in range(N + 1)] visited = [False] * (N + 1) queue = deque([]) answer, flag = 0, Fals.. 2023. 5. 25.
다이나믹 프로그래밍 🧑‍💻 다이나믹 프로그래밍 멀티잇 코딩테스트 러닝클래스'Python 5월반 미리 저장된 값을 어떻게 활용할 수 있을지 생각을 한다 피보나치 수 같은 경우, 1번째와 2번째를 미리 구하고, 그 앞 두 숫자를 이용하여 값을 구하는 것이다 피보나치 수 재귀로 풀이 (Runtime Error) user_input = int(input()) def fibo(num): if num == 0: return 0 elif num == 1: return 1 return fibo(num - 2) + fibo(num - 1) print(fibo(user_input) % 1000000007) 리스트로 풀이 user_input = int(input()) fibo = [1, 1] for i in range(2, user_input.. 2023. 5. 24.
그리디 알고리즘, 원인과 결과 찾기 🧑‍💻 그리디 알고리즘, 원인과 결과 찾기 멀티잇 코딩테스트 러닝클래스'Python 5월반 거스름돈 1, 5, 10, 20, 40 원이라는 동전이 있다 N원을 거슬러 주기 위한 최소의 동전의 개수를 구하는 것 기본적으로 40부터 시작해서, 남은 나머지를 계산해주면 된다 N = int(input()) coin = [40, 20, 10, 5, 1] count = 0 for c in coin: if c temp_end: count += 1 temp_end = end print(count) 2023. 5. 23.
기초 자료구조의 구현과 응용 🧑‍💻 기초 자료구조의 구현과 응용 멀티잇 코딩테스트 러닝클래스'Python 5월반 Stack 말 그대로 stack을 구현하면 된다 stack은 Last In First Out 규칙을 가지고 있다 stack에 들어갈 수 있는 용량이 정해졌다 stack이 이미 꽉 찼을 때에, 값을 넣어야 하면, "Overflow"를 출력 stack에 아무것도 없는데, 값을 빼야 하는 명령어가 실행되면, "Underflow"를 출력한다 N, K = map(int, input().split()) stack = [] for _ in range(N): command = list(input().split()) if command[0] == "push": if len(stack) < K: stack.append(int(command.. 2023. 5. 22.
12. Java 반복문 12. Java 반복문 For 반복문 javascript for문의 구조와 같다 for (int i = 0; i 2023. 5. 19.
11. Java 조건문 11. Java 조건문 If Else if (i == 3) { System.out.println("True"); } else { System.out.println("i is not 3"); } i 가 3이면 True를 출력한다 if문이 true이기 때문에 i 가 3이 아니면 'i is not 3' 를 출력 else 를 통해 3이 아닌 모든 조건은 'i is not 3'를 출력한다 if (i == 25) { System.out.println("i is 25"); } else if (i == 24) { System.out.println("i is 24"); } else { System.out.println("i is neither 25 or 24"); } i 가 25 이면 if (i == 25) 에서 끝나고.. 2023. 5. 19.
10. Java 기본 데이터 타입 (Boolean, char) 10. Java 기본 데이터 타입 (Boolean, char) 지금까지 배운 것 Integer byte, short, int, long Floating Point float, double Boolean boolean Character char Boolean 무조건 true 또는 false 이다 True, False를 사용하면, 작동이 안 된다 if문 같이 상태를 나타날 때에, 즉 로직을 만들 때 중요하게 사용한다 ==, >, >=, 15, 이렇게 순서를 바뀌면 i 에 1을 더하게 된다 char 문자열 데이터 타입이다 jshell> char ch = 'a' ch ==> 'a' jshell> char ch = 'ab' | Error: | unclosed character literal | char ch = .. 2023. 5. 17.
9. Java 기본 데이터 타입 (Float, BigDecimal) 9. Java 기본 데이터 타입 (Float, BigDecimal) 지금까지 배운 것 Integer byte, short, int, long Floating Point float, double Boolean boolean Character char Float Integer + Decimal 그냥 34.5 는 double 에 해당한다 그래서 float로 저장할 때에는, f 나 F 를 숫자 마지막에 포함해야 한다 Integer처럼 float는 double보다 작은 데이터 타입이다 float 는 4 바이트 double 은 8 바이트 double 로 저장된 값을 float 변수에 저장하기 float f2 = (float) dbl : dbl을 float로 형변환을 시켜줘야 한다 Integer에서 사용했던 연산자들.. 2023. 5. 16.