강의

멘토링

로드맵

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

알고마스터님의 프로필 이미지
알고마스터

작성한 질문수

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

9. 숫자만 추출

저 공식이 만들어진 이유가 뭔가요?

작성

·

272

1

answer = answer * 10 + ( x - 48)

알고리즘을 풀때 위 공식을 세울 수 있는 방법을 알아야 할 것 같은데 미리 세워둔 공식에 대입한 코드를 짠다는것만 보고서는 이 문제를 만났을 때 풀 수 있을 지 모르겠다는 생각이 듭니다.

아스키 코드로 48~57 사이에 있다는건 알겠는데

answer = answer * 10 + ( x - 48) 이걸 하는거죠 라는 말씀이 이해가 안갑니다.

 

저 공식이 나오게 된 이유를 알고 싶습니다

퀴즈

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

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

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

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

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

답변 1

1

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

안녕하세요^^

x값으로 차례대로 넘어오는 문자형숫자('0'~'9')를 합쳐서 10진수화 하는 방법입니다.

x값에 '2', '3', '5'가 차례대로 대입된다고 생각하고 위 코드를 반복적용해 보세요.

answer값이 10진수 235가 될 겁니다.

알고마스터님의 프로필 이미지
알고마스터

작성한 질문수

질문하기