강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

7. 회문문자열

회문문자열 질문

작성

·

289

0

public String mysolution(String str) {

Boolean answer = true;

str = str.toLowerCase();

char[] c = str.toCharArray();

int lt = 0 , rt = str.length()-1;

while(lt<rt) {

if(c[lt]!=c[rt]) {

answer = false;

break;

}

lt++;

rt--;

}

return answer ? "YES" :"NO";

}

위처럼 문자열바꾸기 할떄 썼던 방법을 쓰는것 보다 강의에서 풀어주신 방법이 더 효율적인 이유가 궁금합니다!! 

퀴즈

61%나 틀려요. 한번 도전해보세요!

대소문자를 구분하지 않고 문자열 내 특정 문자의 총 개수를 세려면, 어떤 방법이 가장 효율적일까요?

문자열을 반복하며 각 문자가 찾으려는 문자의 대문자 또는 소문자인지 모두 비교한다.

문자열 전체를 한 가지 케이스(예: 모두 대문자)로 통일한 후 해당 문자의 개수를 센다.

대문자와 소문자의 개수를 각각 세어 합산한다.

Set 자료구조를 사용하여 중복 없이 문자를 저장한 후 개수를 센다.

답변 1

2

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

아무거나 사용해도 상관없습니다. 서로 비슷합니다.  사실 reverse를 쓰는 코드보다는 위 방법이 더 효율적입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기