Code Signal -Arcade
코드시그널
아케이드 문제 관련 풀이들을 구글링하면서 찾아가는 일지를 하나씩하나씩 기록하고자 합니당.
주로 자바 위주로 풀이를 올릴예정이고, 추가로 공부하고 있는 파이썬이나 코틀린, GO, 자바스크립트 더 나아가 스위프트까지...
되는대로 가능한대로 구글링하고 정답맞추면 바로 패스!!
이런식으로 좋은 코드이든 말든 짜집기한 결과물들을 개인적 소장을 위해 기록합니다. ^^
참고 사이트들은 아래에 링크로 남겨둘터이니 자세하고 더욱 깊은 내용들은 링크로 들어가보세요! \
Find Email Domain
이메일 주소(도메인)를 찾아라.
입력되는 문자열들이 이메일 주소 부분을 가져오는 알고리즘입니다.
이메일 주소 @ 뒷부분을 추출해달라는 문제인데요.
패턴/ 컴파일 / 정규식을 통해서 구할 수 있습니다.
답안
String findEmailDomain(String address) {
Pattern pattern = Pattern.compile("^([\\w\\D]+)@([a-z].+[a-z])$");
Matcher mat = pattern.matcher(address);
String domains = "";
if(mat.find()) domains = mat.group(2);
return domains;
}
^([\\w\\D]+)@([a-z].+[a-z])$ |
정규식 부분입니다. 앞에 그룹으로, w D 조건을 걸어줍니다.
여기서는 그룹을 잘 사용하면 편합니다.
// GROUP() method 사용하는 방법.
// () 를 통해 그룹핑을 할 수 있다.
// 여기서 ()를 기준으로 내가 원하는 값을 출력해낼 수 있다.
// 괄호의 순서대로 1-2 ,..순이며,
// find()를 반드시 진행해주고, 원하는 Group 을 ()안에 번호를 넣어서 빼낼수 있다.
frind() 메서드를 통해서 내가 원하는 특정 부분의 그룹을 가져오면 됩니다.
이제 엘리트 분들의 답안을 감상하자...
JAVA
String findEmailDomain(String address) {
int ind = address.lastIndexOf("@");
return address.substring(ind+1);
}
정규식이 필요없이, @라는 특정문자를 찾아내서 그 이후의 문자열을 substring()을 통해서 리턴하는것도 또 방법이네요.
Python3
def findEmailDomain(address):
return address.split('@')[-1]
JS
function findEmailDomain(address) {
return address.split('@').pop()
}
공감♥ 버튼 눌러주시면 더욱 많은 포스팅을 올리는데 힘이 됩니다!
부탁드려요 돈드는거 아니잖아요~
'Algorithm > Java' 카테고리의 다른 글
#45_Code Signal Arcade >> Build Palindrome (0) | 2020.04.08 |
---|---|
#43_Code Signal Arcade >> Is Beautiful String (0) | 2020.03.10 |
#42_Code Signal Arcade >> Bishop And Pawn (0) | 2020.03.09 |