본문 바로가기

개발중/Algorithm

JewelsAndStones

728x90
반응형

 

오늘은 문자열에서 존재하는 알파벳애서 내가 원하는 알파벳의 개수를 찾는

알고리즘을 풀었다.

 

 

 

 

 

 

 

S 라는 문자열에서

 

 

 

 

 

J 라는 문자열을 분리해서 생각하고

이 문자의 개수를 추출한다.

 

 

 

중복을 허용하지 않는 HeshSet 을 사용한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

toCharArray 는 문자열을 문자 배열로 만든다.

 

jew 를 문자로 하나씩 만들고

 

set 에 add 시킨다.

 

 

 

 

 

 

 

 

 

 

 

이번에는

stone 의 문자열을 문자 배열로 가져오는 구나

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

contains() 함수는

대상 문자열에 특정 문자열이

포함되어 있는지

확인하는 함수이다.

 

 

 

 

 

 

stonChar의 문자가 set에 존재하니?

 

존재한다면 1씩 증가해

 

 

 

 

 

 

그럼 내가 count 로 반환 해줄께

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

package soobin;

import java.util.HashSet;
import java.util.Set;

public class JewilsAndStones {
	
	public static void main(String[] args) {
		String J = "aA", S = "aAAbbbb";
		System.out.println(solve(J,S));
	}

	// Hesh Set 은 중복을 허용하지 않는다
	public static int solve(String jew, String stone) {
		
		Set<Character> set = new HashSet<>();
		
		for( char jewel : jew.toCharArray()) {
			set.add(jewel);
		}
		
		int count = 0;
		
		for(char stoneChar : stone.toCharArray()) {
			System.out.println("stoneChar : "+ stoneChar);
			if( set.contains(stoneChar)) {
				count++;
			}
		}
		return count;
	}
}
728x90
반응형

'개발중 > Algorithm' 카테고리의 다른 글

LicensKeyFormatting  (0) 2020.08.26
MeetingRoom2 응용 (정)  (0) 2020.08.26
MeetingRoom2  (0) 2020.08.25
Merge 알고리즘  (0) 2020.08.24
Daily Temperature  (0) 2020.08.23