coding
-
[LeetCode/Java] 884. Backspace String Compare - A0422022_PPS/4주차 2023. 1. 19. 14:55
- 문제 - 알고리즘 Stack을 이용하여 문제를 풀었다. 만약 #표시가 나오면 pop을 해줬고, 아니라면 push를 해줬다. 같은지 확인하는 방법은 size가 같은지를 먼저 확인해 줬고, 같다면 pop을 해서 같은 문자인지를 확인해 줬다. pop을 하면 stack의 사이즈가 바뀌는 것을 인지하지 못해서 실수를 했었는데, 미리 변수를 통해 선언해서 해결해줬다. - 코드 class Solution { public boolean backspaceCompare(String s, String t) { Stack sStack = new Stack(); Stack tStack = new Stack(); for(int i = 0; i
-
[BaekJoon/Java] 1427. 소트인사이드 - A0662022_PPS/4주차 2023. 1. 19. 14:22
- 문제 - 알고리즘 문자열로 숫자를 받는다.받은 숫자를 하나씩 잘라서 list에 넣는다. 그 list를 정렬한 후 뒤에서부터 출력한다. - 코드 import java.util.Scanner; import java.util.Arrays; class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String str = s.next(); String[] list = new String[str.length()]; for(int i = 0; i=0; i--) System.out.print(Integer.parseInt(list[i])); } }
-
[BaekJoon/Java] 10814. 나이순 정렬 - A0822022_PPS/4주차 2023. 1. 19. 13:54
- 문제 - 알고리즘 이중 배열을 사용하여 첫 번째 있는 것만 정렬하도록 했다. compare 사용법을 잘 몰라 힘들었는데, 나중에 제대로 공부해 봐야겠다. - 코드 import java.util.Scanner; import java.util.Arrays; import java.util.Comparator; class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); String[][] info = new String[n][2]; for(int i = 0; i
-
[BaekJoon/Java] 2822. 점수 계산 - A0772022_PPS/3주차 2023. 1. 19. 13:14
- 문제 - 알고리즘 받은 숫자를 배열에 입력한다. 하나는 일반 배열에 넣고, 하나는 ArrayList 에 넣은 이유는 ArrayList가 indexOf을 사용할 수 있기 때문이다. 받은 문자를 정렬하고, indexOf을 이용하여 큰 5개의 숫자의 index를 찾는다. index를 담은 배열도 정렬을 한 후 출력한다. - 코드 import java.util.Scanner; import java.util.Arrays; import java.util.ArrayList; class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); ArrayList jumsu = new ArrayList(); int[] sort..
-
[Programmers/Java] JadenCase 문자열 만들기 - A0412022_PPS/3주차 2023. 1. 19. 11:39
- 문제 - 알고리즘 문제만 봤을 때는 엄청 쉬워보였는데, 테스트 케이스들이 많아 힘들었다. 일단 문자열을 split할 때 limit을 음수로 두어 모든 구분자를 구분 하도록 하였다.(즉, 마지막에 구분자가 와도 구분하도록!) 그리고 문자열에서 공백이 2번이상 반복되어 아무것도 없는 배열이 생겼을 때는 comtinue를 통해 그냥 지나가도록 했다. 나머지는 모두 소문자로 만든 후 문자열을 char배열로 만들었다. 첫 글자가 숫자가 아닌 소문자라면 대문자로 변경해 준다. 그리고 char배열을 String으로 만들어 다시 str배열에 넣어준다. 이후 str을 answer에 넣고 공백을 함께 넣어준다. 공백이 조금 힘들었었다. 공백문자가 연속해서 나오게 되면 해결하기가 에매 했는데, split에 limit을 ..
-
[BaekJoon/Java] 4659. 비밀번호 발음하기 - A0492022_PPS/3주차 2023. 1. 19. 10:37
- 문제 - 알고리즘 먼저 while문을 이용하여 문자열을 받아준다. 받은 문자열이 end라면 바로 종료하도록 하고, 문자열을 출력하기 위해 저장해 준다. 문자열을 반복문에 넣어 모음이 포함되어 있는지 확인한다. 모음과 자음이 연속되는지를 확인하기 위해 변수의 크기를 키워준다. 모음이 필수로 들어가야 하기 때문에 vowelCheak변수를 이욯하였고, vowels, collocation 변수를 통해 연속 3개가 나오는지 확인하였다. 또 연속으로 같은 글자가 오는지도 함께 확인해 줬다. 그 반복문을 마치고 나면 vowelCheak가 true인지를 확인하여 cheak를 바꿔준다. cheakList에 cheak의 값을 넣고, whlie문이 끝나면 형식에 맞게 출력해 준다. - 코드 import java.util..
-
[BaekJoon/Java] 10828. 스택 - A0532022_PPS/3주차 2023. 1. 18. 21:14
- 문제 - 알고리즘 스택은 명령에 따라 Stack을 사용하여 했다. 이 문제 자체가 시간이 짧아 계속 시간 초과가 떴다. 그래서 BufferdReader을 사용했고, 하나하나 출력했더니 안되서 ArrayList를 이용해 한 번에 출력할 수 있도록 바꿨다. - 코드 import java.io.*; import java.util.Stack; import java.util.ArrayList; class Main { public static void main(String[] args) throws IOException{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); Stack stack = new Stack(); ArrayL..
-
[BaekJoon/Java] 11656. 접미사 배열 - A0842022_PPS/3주차 2023. 1. 18. 20:24
- 문제 - 알고리즘 문자열 하나를 받아서 그 문자열을 하나씩 잘라 list에 넣는다. 그 후 list 배열을 sort한다. - 코드 import java.util.Scanner; import java.util.Arrays; class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String str = s.next(); String[] list = new String[str.length()]; for(int i = 0; i