강의

멘토링

로드맵

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

jylee님의 프로필 이미지
jylee

작성한 질문수

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

5. 특정 문자 뒤집기(toCharArray())

선생님 문제 이해가 잘 안 됩니다.

작성

·

456

4

input: "kj#$stpj" / output: "jp#$tsjk" 

 k j # $ s t p j

 j j # $ s t p k

 j p # $ s t j k

 

위의 예시에서 왼쪽, 오른쪽 둘 다 알파벳일 경우 교환을 합니다. 그리고 왼쪽++, 오른쪽-- 을 합니다.

3번째에서는 왼쪽은 특수 문자이고, 오른쪽은 알파벳인데 이 경우는 어떻게 진행한다는 건지 문제 이해가 잘 안갑니다.

퀴즈

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

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

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

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

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

답변 1

0

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

안녕하세요^^

왼쪽이 특수문자이고, 오른쪽이 알파벳이면 

왼쪽 특수문자를 가르키는 lt가 1증가하게 됩니다.

문제만 읽어서는 선생님 말씀대로 lt가 1 증가한다고 이해하기 어려울 것 같습니다 ㅠㅠ 문제에 한쪽은 알파벳이고 다른 한쪽은 특수문자일 때 처리 방법에 대해 명확한 설명이 필요하다고 생각합니다

jylee님의 프로필 이미지
jylee

작성한 질문수

질문하기