문자열
-
[백준]18119: 단어 암기 - JAVA문제풀이/백준 2021. 8. 10. 15:07
[백준]18119: 단어 암기 18119번: 단어 암기 준석이는 영어 단어를 외우려고 한다. 사전에는 N가지 단어가 적혀 있다. 모든 단어는 소문자이다. 단어 안에 있는 모든 알파벳을 알 때, 그 단어를 완전히 안다고 한다. 다음과 같은 쿼리들이 주 www.acmicpc.net 풀이 🪑 문제는 굉장히 간단하다. 각 쿼리마다 완전히 알고 있는 단어의 개수를 출력하는 문자열 문제이다! 📝 문제를 정리해 보쟈. 단어는 소문자로만 되어 있으며 단어 안에 모든 알파벳을 알면 그 단어를 안다고 한다. 각 쿼리 마다 완전히 알고 있는 단어의 개수를 출력한다. 모음은 완벽하게 외웠다. 잊어버릴 일이 없다. 🙋♀️ 처음에는 시간복잡도를 생각해 보았다. O(NM)으로 문자를 하나씩 확인하며 완탐으로 문제를 푼다고 했을때..
-
[백준]2661: 좋은 수열 - JAVA문제풀이/백준 2021. 6. 14. 11:31
[백준]2661: 좋은 수열 2661번: 좋은수열 첫 번째 줄에 1, 2, 3으로만 이루어져 있는 길이가 N인 좋은 수열들 중에서 가장 작은 수를 나타내는 수열만 출력한다. 수열을 이루는 1, 2, 3들 사이에는 빈칸을 두지 않는다. www.acmicpc.net 풀이 문제의 조건에 제시된 좋은 수열의 조건을 만족하면서 가장 작은 N자릿수 를 반환하는 문제이다. 뽑을 수 있는 범위의 숫자는 1~3 밖에 없으므로 start 값을 1, end 값을 3으로 지정하였다. 숫자를 하나씩 뽑는 과정을 backtracking 함수라고 이름 붙였지만, 조건에 맞는 수를 확인하며 하나씩 뽑아주기 때문에 백트랙킹 보다는 순차적으로 순열 방법으로 수를 뽑아준 풀이라고 봐야 할 것 같다. (이럴거면 이름을 permutation..
-
[백준]5430: AC - JAVA문제풀이/백준 2021. 4. 18. 18:44
[백준]5430: AC www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 풀이 복잡한(자바에선 이정도 문자열이면 복잡한 문자열에 속한다고 생각한당.)문자열을 입력받은 후 문제의 조건에 맞게 출력하면 되는 문제이다. 자바로 문자열 문제들을 풀때 입력 받을때, 출력할때, 문자열 쪼개고 예외케이스 처리할 때마다 머리가 아프다.. 처음에는 StringBuilder객체를 사용해서 직접 reverse()와 substring() 함수를 사용하여 문자열을 조작해 주었는데 시간초과가 났다. 그래서 start, end포인터를 만들어 ..
-
[프로그래머스]가장 긴 팰린드롬 - JAVA문제풀이/프로그래머스 2021. 3. 12. 13:57
[프로그래머스]가장 긴 팰린드롬 programmers.co.kr/learn/courses/30/lessons/12904 코딩테스트 연습 - 가장 긴 팰린드롬 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들 programmers.co.kr 풀이 중첩 반복문을 사용하여 가장 긴 팰린드롬을 찾아내도록 하였다. 가장 긴 팰린드롬을 발견하면 그대로 그 값을 반환하였다. 우선 팰린드롬의 길이를 문자열 s의 길이로 지정한 후 팰린드롬이 아니라면 길이를 1씩 줄여나가면서 찾았다. 그 다음 시작점 부터 팰린드롬의 길이 만큼 s의 문자들을 비..