코딩인터뷰완전분석 2

[코딩인터뷰완전분석] 1.2_순열확인_풀이

Q. 문자열 두 개가 주어졌을 때 이 둘이 서로 순열 관계에 있는지 확인하는 메서드를 작성하라. [체크] 대소문자는 구분해야 하는지 공백은 하나의 문자로 처리해야하는지 입력받은 두 문자열의 길이가 같은지 (널 체크도 하면 좋을것 같다.) 확인 후에 해당 문자열을 char배열로 만들어 정렬을 진행한다. 두 문자열을 모두 정렬했을시 값이 같으면 순열이므로 true 값을 반환하면 된다. public String sort (String s) { char[] content = s.toCharArray(); java.util.Arrays.sort(content); return new String(content); } public boolean permutation (String s, String t) { if (s..

알고리즘 2021.08.24

[코딩인터뷰완전분석] 1.1_중복이 없는가_풀이

Q. 문자열이 주어졌을 때, 이 문자열에 같은 문자가 중복되어 등장하는지 확인하는 알고리즘을 작성하라 [체크] 문제를 풀기 전 ASCII 코드인지, 유니 코드인지 확인하자. 이 가정이 없다면, 배열의 크기를 늘려야한다. boolean isUnique (String str) { // ASCII 코드라 가정 1byte -> 2의8승, // 1비트는 값 표현에 쓰이지 않으므로 2의7승 최대 128개의 문자열이 들어온다. if (str.length() > 128) return false; boolean charSet = new boolean[128]; // charAt 함수를 통해 아스키 코드 값을 가져온 후 해당 아스키 코드값을 인덱스값으로 설정한다. // 그 후 해당 인덱스의 값을 true 로 설정. // ..

알고리즘 2021.08.24