[HackerRank] CamelCase

아르당·2023년 12월 18일

HackerRank

목록 보기
50/109
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

문제

CamelCase로 된 문자열 s는 다음과 같은 규칙을 가지고 있다.

  • 하나 또는 더 많은 단어가 영어 단어로 되어 있다.
  • 첫 번째 단어는 모두 소문자이다.
  • 각 단어들의 첫 번째 문자는 대문자이고 나머지 문자는 소문자이다.

Example

s = oneTwoThree

문자열에 3개의 단어 'one', 'Two', 'Three'가 있다.

Function Description

introTutorial 함수를 완성해라.
introTutorial 함수는 아래와 같은 매개변수를 가지고 있다.

  • String s: 분석할 문자열

Returns

  • int: s 안에 있는 단어의 수

Constraints

  • 1 <= length of s <= 10^5

풀이

문제는 단어를 찾으라고 하지만 실제로는 대문자의 개수를 찾으면 된다. 그리고 처음 단어는 모두 소문자라서 대문자 개수에 1을 더해야 한다.

int result = 1; // 처음 단어가 모두 소문자라서 미리 1을 할당한다.

반복문을 통해 s를 순회하면서 대문자인지 확인하면 된다.

for(int i = 0; i < s.length(); i++){
	// char로 변환하고 a를 뺀 값이 0보다 작으면 대문자이다.
	if(s.charAt(i) - 'a' < 0){
		result++;
	}
}

마지막은 역시 result를 반환한다.

return result;

전체 코드

public static int camelcase(String s) {
	int result = 1;

	for(int i = 0; i < s.length(); i++){
		if(s.charAt(i) - 'a' < 0){
			result++;
		}
	}

	return result;
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글