본문 바로가기
반응형

알고리즘11

[Easy] 공통 접두사 찾기 문제: 주어진 문자열 배열에서 가장 긴 공통 접두사를 찾아라. 예)입력 값 : {"abc", "abcd", "ab"}결과 : "ab" 풀이:각 배열에 들어있는 문자열을 첫 글자부터 하나씩 비교해 나간다. 만약 다른 글자를 포함한 것이 있거나 더이상 글자가 없다면 중단해서 그 이전 까지의 문자열이 common prefix이다. Java code: class Solution { public String longestCommonPrefix(String[] strs) { if(strs.length == 0) return ""; StringBuilder result = new StringBuilder(); boolean same = true; for(int i = 0; i < strs[0].length(); i+.. 2017. 12. 13.
[Easy] 로마숫자를 정수형으로 변환하기 문제:입력받은 로마 숫자를 정수형 값으로 변환하여 반환해라. 입력 값의 타입은 문자열이고 출력 타입은 integer형이다.입력받는 로마 숫자의 제한은 (3999)까지 이다. 로마 숫자 표I 1 V 5 X 10 L 50 C 100 D 500 M 1000 풀이이 문제는 로마 숫자의 구성만 알면 쉽게 풀 수 있다. 각각의 알파벳은 고유의 숫자 값을 가지고 있고 주의해야할 점은 8은 VIII로 표현되지만 9는 IV로 표현 된다는 점이다. 예를 하나 더들면 40은 XL이다. 이 점을 활용하여 우선 모든 문자의 값을 별도의 배열에 저장한다.예를 들어 DCXXI 를 숫자로 바꿔보자.D는 500, C는 100, X는 10, I는 1이다. 각 글자별로 배열에 저장하면 다음과 같다. 문자D C X X I 값500 100 .. 2017. 12. 13.
[Easy] Reverse String 문자열 반전 문제: Reverse String 주어지는 문자열을 반전시켜 반환해라 예를 들어 입력 값이 "hello"라면 반환 값은 "olleh" 이다. public String reverseString(String s); 해결법:이 문제의 해결 방안은 두개의 포인터를 이용하면 간단히 해결 가능하다. 문자열은 배열의 형태를 가지고 있고 각각은 인덱스로 접근 가능하다. 우리는 이 문자열을 뒤집어야 하므로 가장 왼쪽 문자와 가장 오른쪽 문자를 서로 바꾸고 그 다음 하나씩 가운데를 향해가며 문자를 교환하면 된다. 예를 들어 "hello" 문자열은 다음과 같이 생겼다. 문자열h e l l o 인덱스0 1 2 3 4 가장 왼쪽 인덱스, 즉 begin은 0이고, 가장 오른쪽 인덱스 end는 4이다. 이 begin과 end에 해.. 2017. 12. 12.
반응형