본문 바로가기
programming/알고리즘 풀이

[leetcode] 929. Unique Email Addresses

by 몽구스_ 2021. 6. 21.
728x90

 

 

Unique Email Addresses - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

 

 

간단히 말하자면,

아이디의 .이 있어도 없어도 같은 아이디로 생각하고

+이후부터는 아이디를 무시하여 고유한 이메일의 종류 갯수를 출력하는 문제이다.

 

 

class Solution {
    public int numUniqueEmails(String[] emails) {
        HashSet<String> R = new HashSet<>();
		
		for(int i = 0; i < emails.length; i++) {
			StringBuilder sb = new StringBuilder();
			int last = emails[i].indexOf("@");
			
			for(int j = 0; j < last; j++) {
				
				if(emails[i].charAt(j) == '+') {
					break;
				}
				else if(emails[i].charAt(j) != '.') {
					sb.append(emails[i].charAt(j));
				}

			}
			sb.append(emails[i].substring(last, emails[i].length()));
			
			R.add(sb.toString());
		}
		
		return R.size();
    }
}

 

 

고유한 이메일의 갯수를 세는 것이기 때문에 중복 허용이 안되는 HashSet을 사용했다.

StringBuilder를 통해 .과 +의 특성을 고려한 이메일을 뽑아내어 set에 추가하였다.

쉬운 난이도의 문제였다.

 

 

 

 

 

댓글