강의

멘토링

로드맵

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

정재현님의 프로필 이미지
정재현

작성한 질문수

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

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

특정문자뒤집기

작성

·

284

0

코드를 다음과 같이 작성 했는데 예외 케이스가 있는지 궁금합니다.

 

import java.util.Scanner;

public class 특정문자뒤집기 { public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String str = sc.next();

char[] arr = str.toCharArray();

boolean[] bln = new boolean[str.length()];

for(int i=0; i<arr.length; i++) { if((Character.isAlphabetic(arr[i])) &&!bln[i]) {

char temp = arr[Math.abs(i-arr.length)-1];

bln[Math.abs(i-arr.length)-1] = true;

arr[Math.abs(i-arr.length)-1] = arr[i];

arr[i] = temp; bln[i] = true;

} }

for(char ans : arr) System.out.print(ans);

} }

 

퀴즈

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

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

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

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

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

답변 1

0

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

안녕하세요^^

채점사이트에서 Accept 된다면 크게 예외케이스는 없을 겁니다.

정재현님의 프로필 이미지
정재현

작성한 질문수

질문하기