알고리즘24 [Java] 큰 수 출력하기. 첫줄에 자연수 n이 주어지며, 그 다움 줄에 n개의 정수가 입력된다 자신의 바로 앞 수보다 큰수만 한줄로 출력된다. 입력 예제 6 7 3 9 5 6 12 출력 예제 7 9 6 12 💡 풀때 생각 문제 푸는것 보다 StringTokenizer 사용법에 대해서 많이 헤맸다. 문제는 쉬우니까 출력(Main)부분부터 한번 설명해 보겠다. BufferedReader 의 객체를 생성하고 그 인스턴스 변수 br을 이용해서 일단 int a 를 받아준다. 이때 문자열 형태로 데이터가 들어오니까 Integer.parseInt 를 해줘야 한다. 그 후에 StringTokenizer의 객체를 생성해주고 br.readLine()으로 한줄을 읽어오는데 이때 빈칸을 기준으로 데이터를 가져올 수 있다. a 의 수만큼 입력을 받으므로.. 2023. 1. 31. [Java] 아스키코드 비밀 암호 해독하기 핵심. 2진수를 10진수로 바꿔주는 함수. (이걸 몰라서 길게 구현함.) 문제 7 글자씩 # 과 *로 이루어진 암호는 알파벳 한 문자이다. 해당 암호는 #은 이진수 1 *은 이진수 0 을 의미하며 이진수를 10진수로 바꾼 값은 알파벳의 아스키코드이다. #****###**#####**#####**##** 의 암호를 해석해라. 입력 #****###**#####**#####**##** 출력 COOL 💡 내 풀이 (2시간 가까이 푼듯..)😥 어 이진법 ?? 어떻게 해야지?? 아스키코드는 아는데? 48 65 97 0 A a 57 90 122 일단 # 이랑 *을 replaceAll로 바꿔줘야 겠다 까지 생각하고 문제를 풀기 시작했다. 🔍 1. 일단 받은 암호 문자열에서 #을 1로 * 을 0으로 바꿔준다. 이때 *은.. 2023. 1. 30. [Java] 문자열 내 연속된 문자 Counting 압축 알파벳 대문자로 이루어진 문자열을 받아 연속적으로 반복된 단어는 문자 표시후 오른쪽에 수를 표시한다. 입력 예제 AABCCCCCDDE 출력 예제 A2BC5D2E 💡 나의 풀이 과정 이 문제를 처음 봤을 때 문자열을 문자 배열에 나눠서 검사하면 되겠다고 생각했다 같은 문자인 경우에 카운팅을 따로 해주고 다른 문자인 경우에 문자와 숫자를 저장하면 된다고 생각했다. 1. 문자열을 받고 나서 그냥 대문자로 변경해줬다(원래는 대문자로 받는 문제다) 2. 문자열을 문자 배열에 담아준다. 3. 반복된 문자를 카운팅 해줄 int 변수(cnt)와 그전에 나왔던 문자가 무엇인지 확인 하도록 문자 변수(temp)도 선언했다. 4. 반복문 내의 첫번째 조건문은 첫번째 문자일 경우에 temp변수에 저장했다 🔍이렇게 다른 조건을.. 2023. 1. 29. [Java] 특정 문자와 가장 짧은 거리 배열로 출력하기 문자열 s 와 문자열 t 를 입력받는다.(소문자로만) 입력 : 문자열 (공백) 특정 문자 ex)welcomehome e 출력 : 특정 문자 기준으로 문자열에서 각 문자의 거리 ex)1 0 1 2 2 1 0 1 2 1 0 💡나의 생각 및 풀이 과정 처음에 도저히 감이 안잡혔다. 그래서 강의를 통해 앞부분 힌트를 얻고 시작했다. 강사님은 문자열을 문자 배열에 담고 왼쪽기준으로부터의 e와의 거리와 오른쪽 기준으로부터의 e 와의 거리를 한번씩 구하라고 하셨다. 여기까지 듣고 아 한번씩 구한 거리 값을 각각 배열에 담고 최소값들만 배열에 한번 따로 담으면 되겠다. 라고 생각이 들었다. 처음에 cnt를 1000으로 해놓는 이유는 어차피 왼쪽 오른쪽 기준으로 e 와의 거리의 최소값을 구할 것이니까 1000으로 해도 .. 2023. 1. 28. [Java] 문자와 숫자가 섞여있는 문자열 중 숫자만 추출해라 입력 wwq02qweqew21e03 출력 022103 이 아닌 22103 을 추출 💡 생각했던 것들. 얼마전에 replacAll을 배워서 금방 생각해 낼 수 있었다. 문자를 쭉 받고 만약 앞에 0이 있는 경우는 없어지게 해야 했는데 replaceAll 로 숫자 이외의 모든 값들을 없앤후에 정수로 치환하면 앞의 0 은 자연스럽게 없어질꺼라고 생각했다. 그런데 한참 고생했다. 그 이유는 replaceAll 의 코드가 제 역할을 안해줬기 때문이다. replaceAll("^0-9","") 이 코드가 작동을 안했다. replaceAll("[^0-9]","") 이렇게 써줬어야 했다. import java.io.BufferedReader; import java.io.IOException; import java.io... 2023. 1. 27. [Java] 앞뒤로 읽을 때 같은 문자(특수 문자 제거 후 읽기=>정규식 활용) 입력 : aa bb cc &&&&&dd dd cc b&&&b aa 출력 : yes 특수문자는 제외시키고 오로지 문자로 비교하여 앞뒤로 읽은 값이 같은 문자인지 확인하기! 💡처음에 생각한 부분 문자를 앞뒤로 확인하고 특수문자를 제외시킨다?? [Java] 특정 조건에 부합되는 문자 뒤집기(알파벳만 위치 바꾸기) (tistory.com) 강사님 강의에서 특수문자를 제외하고 읽는 방법을 배운적이 있다. 바로 Character.isAlphabatic 이것을 이용해서 하면 되겠다! 라는 생각이 들었다. isAlphabet을 이용하기 위해 일단 스트링을 대문자로 만들어주고 (대소문자 상관없이 비교하기 위하여) toCharArray() 를 이용하여 char배열에 담아줌 맨 앞글자를 나타내는 lt 인덱스 맨 마지막 글자.. 2023. 1. 25. 이전 1 2 3 4 다음