본문 바로가기

분류 전체보기383

[Java] 문제풀이 (Programmers) Java 문제풀이 (Programmers) 나머지가 1이 되는 수 찾기 가장 작은 수를 찾는 것이니깐, 1부터 시작해서 1씩 더하면서 n 과 나누면 된다 거기서 나머지가 1이 나오는 첫 번째 x 가 답이 되는 것이다 class Solution { public int solution(int n) { int answer = 0; int x = 1; while (n % x != 1) { x += 1; } answer = x; return answer; } } 없는 숫자 더하기 check(int value, int[] numbers) 0부터 9를 value로 받고, 배열 안에 있는지 확인을 한다 있으면 true를, 없으면 false를 반환한다 false이면 answer에 더해주면 된다 class Solution.. 2023. 5. 30.
16. Java Array 16. Java Array Array가 필요한 이유 여러 변수를 만들어서, 각 변수마다 값을 저장하는 것보단, 변수 하나를 만들어 Array에 값들을 저장할 수 있다 똑같은 변수에 이름만 다르게 해서, 값들을 저장하는 것보단, 하나의 변수에 값들을 저장하는 것이 더 효율적이다 그리고 Array는 순회가 가능해서, 찾고자 하는 값을 순회를 하며 찾으면 된다 jshell> int[] marks2 = new int[5]; marks2 ==> int[5] { 0, 0, 0, 0, 0 } jshell> int[] marks = {1, 2, 3}; marks ==> int[3] { 1, 2, 3 } jshell> marks2[0] = 5; $3 ==> 5 jshell> marks2 marks2 ==> int[5] .. 2023. 5. 29.
15. Java Wrapper 클래스, Dates 15. Java Wrapper 클래스, Dates Wrapper 클래스란? Wrapper : Boolean, Byte, Character, Double, Float, Integer, Long, Short Primitive : boolean, byte, char, double, float, int, long, short 위에 보이는 것 같이 Wrapper 클래스는 Primitive 값을 감싸준다 Wrapper 클래스는, 다양한 옵션을 제공해준다 Wrapper만에 메서드가 있다 아래는 Integer 위주로 사용하지만, 다른 Wrapper 클래스들도 사용이 가능하다 jshell> Integer integer = new Integer(5); integer ==> 5 jshell> integer integer =.. 2023. 5. 28.
[Java] 문제풀이 (Programmers) Java 문제풀이 (Programmers) 삼총사 수열을 잘 만들면 된다 삼총사를 구하면 되기 때문에, 3중 for문을 이용하면 된다 class Solution { public int solution(int[] number) { int answer = 0; for (int i = 0; i < number.length - 2; i ++) { for (int j = i + 1; j < number.length - 1; j ++) { for(int k = j + 1; k < number.length; k ++) { if (number[i] + number[j] + number[k] == 0) { answer += 1; } } } } return answer; } } 나머지 구하기 연산자 % 를 사용하여, 나머.. 2023. 5. 28.
14. Java String 대체 클래스 14. Java String 대체 클래스 string 같은 경우, 변수가 만들어지면, 변수의 값은 바뀔 수가 없다 StringBuffer 멀티스레딩이 가능한 클래스다 하지만 싱글스레딩을 할 때에는 느릴 수 있다 jshell> StringBuffer sb = new StringBuffer("Test"); sb ==> Test jshell> sb.append("Test"); $27 ==> TestTest jshell> sb sb ==> TestTest jshell> sb.setCharAt(3, 's'); jshell> sb sb ==> TessTest StringBuffer 클래스를 사용하면, 문자열의 값을 바꿀 수 있다 .setCharAt(index, string); index에 있는 알파벳을, strin.. 2023. 5. 27.
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.
[Java] 문제풀이 (Programmers) Java 문제풀이 (Programmers) 분수의 덧셈 (numer1 / denom1) + (numer2 / denom2) 의 값을 구해, 분자는 answer[0]에, 분모는 answer[1]에 저장하는 것이다 먼저 answer[0]와 answer[1]에 나누지 않은 채로, 그냥 더해서 저장을 한다 그리고 2부터 시작해서 for문을 돌면서 answer[0]과 answer[1]를 나눌 수 있으면, 계속 나눠준다 최대공약수를 나누는 방법과 똑같은 것이다 (대신 최대공약수를 따로 구하는 것이 아니라, 최대공약수를 구하는 식을 for문과 while문을 통해서 구하는 것이다) class Solution { public int[] solution(int numer1, int denom1, int numer2, in.. 2023. 5. 26.
그래프 탐색 🧑‍💻 그래프 탐색 멀티잇 코딩테스트 러닝클래스'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.