목록java/Algorithm (14)
이븐곰의 프로그래밍
문제) https://leetcode.com/problems/longest-substring-without-repeating-characters/description/코드)import java.util.*;class Solution { public int lengthOfLongestSubstring(String s) { Set subSet = new HashSet(); int result = 0; int previous = 0; int index = 0; while(index

문제) https://leetcode.com/problems/base-7/description/입력받은 숫자를 7진수 형식의 문자열로 반환 제한사항)-10^7 문제접근)Java Integer class 내 특정 메소드만 알면 쉽게 해결 가능class Solution { public String convertToBase7(int num) { return Integer.toString(num, 7); }} 결과) 참고)Java 에서는 Integer 클래스 내 다음 메소드에서 진법 변환을 지원한다.Integer.toString(int number, int radix) : StringInteger.parseInt(String target, int radix) : intInteger.toB..

문제) https://leetcode.com/problems/next-greater-element-ii/description/int 배열이 입력될 때, 각 index의 값보다 첫번째 큰 값을 찾아 배열을 만들어 반환하는 문제이 때, 입력되는 int 배열 nums는 순환 배열로 인식(ex. nums의 마지막 인덱스까지 돌아서 못찾았을 경우, 0번째 인덱스에서 다시 조회)제한사항)1 -10^9 해결)import java.util.*;class Solution { public int[] nextGreaterElements(int[] nums) { int[] result = new int[nums.length]; Stack stack = new Stack(); for(..

문제) https://leetcode.com/problems/next-greater-element-i/description/숫자가 들어있는 배열 nums1, nums2가 입력될 때, nums1의 배열의 요소들보다 큰 값이 nums2에 있는 경우, 해당 값을 그렇지 않을 경우 -1을 반환제한사항)1 0 nums1과 nums2는 모두 유일한 요소를 가짐nums1은 nums2의 서브 배열문제접근)nums2에서 nums1의 요소를 찾아서 그 이후 index에서 비교 대상 nums1의 요소보다 큰 값을 찾는 문제두 배열의 요소의 값은 10^4로 Integer로 처리 가능nums2의 요소별 인덱스를 map에 담아, nums1의 요소를 찾을 때 해당 맵에서 그 요소의 index 이후 index부터 검색하도록 하여 조..

문제) https://leetcode.com/problems/smallest-missing-integer-greater-than-sequential-prefix-sum/description/순차적인 숫자가 들어있는 nums 배열이 입력될 때, nums 내에서 Sequential Prefix 배열을 찾아서 해당 배열의 sum 보다 같거나 크면서 배열 nums에 없는 가장 작은 값을 반환nums[0..i] 는 순차적이며, 1 제한사항)i 1 문제접근)입력받은 배열은 순차적으로 1씩 증가하는 서브 배열로부터 시작서브 배열을 찾아서, sum을 구한다sum보다 같거나 크면서, nums에 없는 가장 작은 값을 구한다해결)import java.util.*;class Solution { public int mi..

문제 )문자열이 들어있는 배열 strs가 입력되었을 때, strs 내 문자열들의 가장 긴 Prefix를 반환 제한사항)1 0 strs[i] 는 모두 소문자로만 이루어져있음 문제 접근)입력된 문자들의 공통 부분을 찾는 문제첫번째 문자열의 문자를 기준으로 strs 배열을 순회하며 동일한 문자가 있을 경우, 해당 문자를 결과를 저장할 StringBuilder에 append문자열의 배열은 최대 200개, 한 개의 문자열은 최대 200개의 문자로 이루어짐으로 모든 케이스를 검사한다고 할 때, 최악의 경우 200 * 200 = 40,000 번의 순회가 필요함결과는 StringBuilder에 저장하여, 불필요한 메모리 사용을 최소화 해결1)class Solution { public String longestCo..
"palindrome"은 반대로 읽어도 원래대로 읽은 것과 동일한 구문, 숫자, 문자열이다. 문제 : 입력받은 문자열이 "palindrome"인지 여부를 출력 https://www.hackerrank.com/challenges/java-string-reverse/problem?h_r=next-challenge&h_v=zen Java String Reverse | HackerRank Learn how to reverse a string. Given a string, determine if its a palindrome. www.hackerrank.com import java.io.*; import java.util.*; public class Solution { public static void main(..
문자열은 일반적으모 문자 상수 또는 변수의 일종인 문자의 시퀀스임 Reference : https://en.wikipedia.org/wiki/String_%28computer_science%29 String (computer science) - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Sequence of characters, data type In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter..