오늘은 어쩌면 쉽게 풀어서 날먹이라고 생각할 수 있겠지만..^^ 그래도 함수의 기능을 써서 풀었으니 풀면서 쓴
함수들을 정리하고자 ! 포스팅 !
문제는 간단하다! 하지만 이 기능들을 모른다면, 아마 어렵게 또 풀겠지!! 나도 알고 쓴 것과 모르고 검색해서 찾은 기능들을 정리해보자.
간단..? 해보이지만 우리는 여기서 if 에 쓰인 or, and , isdigit 라는 생소한 것들을 볼 수 있다.. ( 나만 생소한건지 모르겠지만 )
하나하나 정리해보자!
우리가 if 옆에 and랑 or 쓰는 경우는, 조건이 2가지를 같이 만족해야하거나, 또 2가지 중 하나만 만족해도 된다고 할 때 쓴다.
or
란 영어의 말대로 어떠한 경우 또는 어떠한 경우가 참일때 쓰는 기능이다. 두 가지중 하나만 참이면 되는 것!
여기서 문자열의 s 길이가 4 또는 6일때, -- 이 곳에서 우리는 길이를 리턴하는 함수 len 과 함께
len(s) == 4 or len(s) == 6 로 써줄 수 있는 것이다!
and
란 마찬가지로 두가지가 모두 참일 때에 true가 되는 기능이다. 위의 알고리즘 문제에서 4또는 6인것과 동시에,
숫자로만 이루어진 배열이라면, True를 반환하게 되는데, 숫자로도 이루어져야하는 조건을 나는 and 로 써준 것이다!
(len(s) == 4 or len(s) == 6) and 다른 조건 -- 4 또는 6 일때 다른 조건도 만족해줘라.
and 를 쓰게 되면, 우리는
이렇게 if를 중첩시키지 않아도,
and를 써서 이렇게 한줄에다가 적어 줄 수 있다. 굳이 식을 불필요하게 늘려주지 않아도 된다는 말!
그럼 and 옆에 써준 isdigit 함수도 기능을 설명해보자.
isdigit
란 주어진 변수의 배열이 숫자로 이루어져있는지, 판별해주는 함수다. 배열이 숫자면 True를 , 아니면 False를 반환.
간단하게 코드를 작성해서 찍어보면,
이렇게 숫자일 경우는 True를 반환하고, False를 반환한다!
추가+++
isalpha
는 위의 isdigit 와 반대로 문자열일 경우 True를, 숫자형일 경우 False 를 리턴한다!
마찬가지로 똑같은 변수 num 와 string을 써서 isapha 를 써보면,
반대로 프린트를 해주게 된다!
자 여기서 오늘 내가 쓴 기능들을 합쳐서 간단하게 문제를 풀었다!
다른 사람들의 풀이도 한번.. 볼까나
에그머니나... 겁나 어렵다... 여기서는 boolean 이라는 기능과 정규식을 사용하였는데... 정규식은 넘어렵긴하지만..일단
이 코드만 해석해보자!
boolean - 줄여서 bool
은 모듈 re를 임포트 해주고 쓰는 함수인데, 두 개의 값을 비교해서 True, False를 리턴해주는 기능이다. 다른 반환값은 가지지 않는다.
비교 연산자 (=! 같지 않다 / == 같다 / >= 크거나 같다 / =< 작거나 같다 ) 이런 기능들과 같은!
정규식
으어..어렵다 어려워... 메타 문자들을 사용해서 하나의 식으로 표현한 것이다!
아직은 내가 제대로 사용할 수 없어서 잘 정리되어있는 위키독스에서 잠시 캡쳐를..빌렸읍니다.. 자주 사용하는 문자 클래스만 가져오고 다른 기능들은 들고 오지 않았다..일단운.. 쥬륵 다음에는 나도 써봐야지..
이렇게 쓰이는 정규식과 bool을 통해 저 식을 해석하자면,
// ^와 $ - 문자열의 처음과 끝을 의미하는 식 , ^ 은 not 이라는 뜻을 가졌으며, 위의 캡쳐본에서 보이듯이 숫자가 아닌 것과 매치 된다. 여기서 주어진 식들이 "" 로 문자열로 주어져서 ^ 를 쓴 것 같다.
\d - 숫자형을 비교해주어야해서 숫자를 의미하는 식을 쓴 것!
{4}|{6} - 은 | 를 써서 4번과 6번을 찾는 기능이다!
이 모든 것이 조건을 만족하면 match 가 되어, bool로 True 와 False 로 리턴하게 된다...! 으으.. 정규식은 너무 어렵따.. 나도 언젠가는 쓸 수 있을까...ㅎㅁㅎ...
오늘의 간단한 포스팅 끝!
'python' 카테고리의 다른 글
2020.08.29_알고리즘_모의고사 (0) | 2020.08.29 |
---|---|
2020.08.26_알고리즘_완주하지 못한 선수 (4) | 2020.08.27 |
2020.08.22_알고리즘_예산 (0) | 2020.08.22 |
2020.08.21 알고리즘_같은 숫자는 싫어 (2) | 2020.08.21 |
2020.08.19 알고리즘_k번째수 (0) | 2020.08.20 |
댓글