반응형

String 4

[leetcode]345. Reverse Vowels of a String

문제 주어진 문자열에서 모음(vowels)들만 뒤집어 반환하는 문제입니다. 모음은 'a', 'e', 'i', 'o', 'u' 다섯 가지로 구성되어 있으며, 대소문자를 구분하지 않습니다. 풀이 문자열을 처리하기 위해 투포인터를 활용하여 문제를 해결할 수 있습니다. 주어진 문자열을 리스트로 변환합니다. 이렇게 하면 문자열의 각 문자에 직접 접근하여 값을 변경할 수 있습니다. 파이썬에서 문자열은 불변한 자료형이므로 리스트로 변환하여 가변한 형태로 다루는 것이 유용합니다. 왼쪽 인덱스(left_index)를 문자열의 시작 위치(0)로, 오른쪽 인덱스(right_index)를 문자열의 끝 위치(len(s) - 1)로 초기화합니다. 왼쪽 인덱스와 오른쪽 인덱스가 만나기 전까지 다음 작업을 반복합니다: 만약 왼쪽 인..

알고리즘 2023.07.21

[leetcode] 205. Isomorphic Strings

문제 풀이 주어진 두 문자열이 Isomorphic 이면 true를 반환, 아니면 false를 반환하면 되는 문제 map를 하나 생성해서 두 문자열을 매핑하고 비교하면 된다. 하지만 한 가지 주의해야 할 점은 두 문자가 같은 문자에 맵핑될 수 없다는 점이다. 즉 아래와 같은 경우는 o가 a와 r에 매핑되므로 false가 반환되어야 한다. f -> b o -> a o -> r 아래와 같은 경우 역시 b와 d가 b에 매핑되고 a와 c가 a에 매핑되므로 false가 반환되어야 한다. b -> b a -> a d -> b c -> a s -> t 로 매핑되는 맵과 t -> s 로 매핑되는 맵 2가지를 만들어서 계산하면 위 같은 케이스를 구분할 수 있다. 그런데 자바 HashMap에는 값이 있는 지 확인할 수 있는..

알고리즘 2023.01.10

[leetcode] 468. Validate IP Address

문제 주어진 문자열이 유효한 IPv4 형식인지 유효한 IPv6 형식인지 확인하는 문제이다. 풀이 주어진 문자열이 특정한 구분자로 나눠지는 확인하고 dot(.) 3개로 구분되어 있으면 IPv4로 간주하고 유효한 지 확인한다. colon(:) 7개로 구분되어 있으면 IPv6로 간주하고 유효한 지 확인한다. 그 외의 경우는 “Neither” 를 반환한다. 유효한 IPv4 확인하는 방법은 dot(.)으로 나눈 substring 마다 아래의 경우를 확인한다. 0-255 사이에 위치한 숫자여야 함 0이 아닌 경우를 제외하면 0으로 시작하는 경우가 없어야 함 유효한 IPv6 확인하는 방법은 colon(:)으로 나눈 substring 마다 아래의 경우를 확인한다. 길이가 1 이상 4 이하여야함 hexadecimal에 ..

알고리즘 2022.03.15

[Java] String split method limit 이용

String split method에서 limit 값을 이용해 결과 배열의 길이를 제어하는 방법에 대해 알아보자. Syntax public String[] split(String regex, int limit) Params regex − the delimiting regular expression. limit − the result threshold, which means how many strings to be returned. Return value the array of strings computed by splitting this string around matches of the given regular expression 예시 limit이 0인 경우, 0보다 큰 경우, 0보다 작은 경우에 따라..

Java 2022.03.14
반응형