강의

멘토링

로드맵

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

learn inf님의 프로필 이미지
learn inf

작성한 질문수

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

1. 문자 찾기

예외처리

작성

·

272

0

1. 문자열은 영어 알파벳으로만 구성되어 있습니다.
2. 문자열은 100자를 넘지않습니다.
3. 대소문자를 구분하지 않습니다.
 
상기 3가지 사항 중에서 마지막 3번만 코드에서 거를 수 있게 해주셨는데, 나머지 두가지는 왜 따로 처리하지 않으셨나요?

퀴즈

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

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

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

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

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

답변 1

0

코딩테스트에서 일반적으로 1,2번의 경우 입력을 이러한 형태로 제한해서 준다는 의미입니다. 

그렇기에 입력값에 대한 검사는 진행하지 않습니다. 

 

간단하게 예를 들어서 특정 숫자 2개를 더한다는 문제가 있을 때 

1. 입력값은 문자가 아닙니다. 

2. 입력값의 범위는 1~2^32입니다.

이러한 형태로 주어지곤 합니다. 

입력값의 범위를 통해서 어떤 자료형을 써야하는지 판단할 수 있을 겁니다. 

learn inf님의 프로필 이미지
learn inf

작성한 질문수

질문하기