WorkHard/코딩테스트

[코딩테스트] countAllCharacters

코딩공대 2022. 11. 30. 09:49
728x90

좀 더 어려웠던 문제였다....

문제)
문자열을 입력받아 문자열을 구성하는 각 문자(letter)를 키로 갖는 HashMap을 리턴해야 합니다. 각 키의 값은 해당 문자가 문자열에서 등장하는 횟수를 의미하는 int타입의 값이어야 합니다.

입력)
인자1 : str
 - String 타입의 공백이 없는 문자열

출력)
 - <Character, Integer> 타입을 요소로 갖는 HashMap을 리턴해야 합니다.

주의사항)
 - 빈 문자열을 입력받은 경우, null을 리턴해야 합니다.

코드와 설명

  • 첫번째에서 빈 문자열 입력시 null을 리턴한다.
  • 새로운 hashMap을 정의해준다.
  • for 문을 통해  hashMap에 있는 문자를 하나하나 돌리는데
  • 여기서 if문을 통해 만약 charAt(i)의 문자가 hashMap에 있다면 hashMap에 (key 값을 입력, value 값에 + 1을 한 값을 입력);
  • 포함되어 있지 않으면 그냥 (key값과, 1을 리턴한다.)