나를 기록하다
article thumbnail
[백준 10799/자바(java)] 쇠막대기
Algorithm/baekjoon 2023. 8. 11. 11:06

이 문제는 스택을 활용하여 푸는 문제이다. 자바에서는 ArrayDeque도 있기에 둘 중 편한 방법으로 풀이하면 된다. 1. Stack import java.util.Scanner; import java.util.Stack; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next(); sc.close(); int answer = 0; Stack stack = new Stack(); char[] arr = s.toCharArray(); for (int i = 0 ; i < arr.length ; i++) { char x = arr[i]; if (x == ..

article thumbnail
[백준 1251 파이썬(python)/자바(java)] 단어 나누기
Algorithm/baekjoon 2023. 6. 19. 22:53

1. Python 풀이 word = list(input()) answer = [] temp = [] for i in range(1,len(word)-1): for j in range(i+1, len(word)): a = word[:i] b = word[i:j] c = word[j:] a.reverse() b.reverse() c.reverse() temp.append(a+b+c) for piece in temp: answer.append(''.join(piece)) print(sorted(answer)[0]) 코드설명 python과 java를 함께 사용하여 문제를 풀이하니 python이 알고리즘 풀이에 있어서 얼마나 유용한지 새삼 느낀다. 입력부터 list로 받아와서 이중 for문을 이용하여 3등분을 할..

article thumbnail
[백준 1181 파이썬/python] 단어 정렬
Algorithm/baekjoon 2023. 6. 11. 23:24

1. 첫번째 풀이(실패) 이 문제는 처음에 쉬워보여서 바로 시도하였으나, 런타임에러로 실패하였다. 처음에 제출한 코드는 다음과 같다. import sys input = sys.stdin.readLine n = int(input()) lst = [] for i in range(n): lst.append(input().strip()) lst = list(set(lst)) lst.sort() lst.sort(key = len) for i in lst: print(i) 실패 원인 sys.stdin.readLine() 함수를 사용하여 입력을 받을 때, 전체 입력을 한 번에 처리하기 때문. 입력이 많은 경우 처리 시간이 길어질 수 있다. 시간을 줄이기 위해서는 입력을 한 줄씩 처리해야 한다. 2. 두번째 코드(성공..

article thumbnail
[백준 1085 자바/Java] 직사각형에서 탈출
Algorithm/baekjoon 2023. 5. 25. 22:21

자바로 알고리즘 언어 변경.. 아직 파이썬, 자바 어느 하나 완벽히 못하기에, 파이썬과 자바 둘 다 하기보단 자바 하나를 확실하게 하자는 마음가짐으로 알고리즘 공부를 자바로 변경하였다. 그래서 브론즈 문제도 근근히 푸는 나이지만 다시 열심히 공부하겠다. 코드 코드는 전체 코드말고 부분씩 나누어서 살펴보겠다. BufferedReader, InputStreamReader import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throw..

article thumbnail
[백준 2920 자바/Java] 음계
Algorithm/baekjoon 2023. 5. 23. 22:36

코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // Scanner 객체 생성 int[] inputs = new int[8]; // 크기가 8인 정수형 배열 생성 for (int i = 0; i < inputs.length; i++) { // inputs 배열에 값 입력 inputs[i] = sc.nextInt(); // 사용자로부터 정수 입력 받음 } sc.close(); // Scanner 객체 닫기 String output = ""; // 출력 결과를 저장할 문자열 변수 초기화 for (int i = 0; i < input..

article thumbnail
[백준 2338 자바/Java] 긴자리 계산
Algorithm 2023. 5. 23. 22:09

코드 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // A에 대한 BigInteger 입력 받기 BigInteger A = in.nextBigInteger(); // B에 대한 BigInteger 입력 받기 BigInteger B = in.nextBigInteger(); // A와 B의 합 출력 System.out.println(A.add(B)); // A에서 B를 뺀 값 출력 System.out.println(A.subtract(B)); // A와 B의 곱 출력 System.o..

profile on loading

Loading...