SQL
카타
<문제 137. Weather Observation Station 5 : UNION>
(SELECT city,
length(city)
FROM STATION
ORDER BY length(CITY) ASC,CITY ASC
limit 1)
union
(select city,
length(city)
from station
order by length(city) desc, city asc
limit 1)
잠시 헷갈렸던 문제라 기록
<문제 138. Weather Observation Station 6 : 정규표현식>
select city
from station
where city regexp '^[aeiou]'
어제 새로 공부했던 정규표현식을 바로 써먹었던 문제라 복습 차원에서 기록.
Python
카타
<문제24. 서울에서 김서방 찾기 : F-String, 문자열 포맷(FORMAT()), INDEX()>
작성한 답
def solution(seoul):
location = 0
for x in seoul:
if x == "Kim":
return f"김서방은 {location}에 있다"
else:
location += 1
간만에 f-string 활용해서 문제 해결.
간단한 답
def solution(seoul):
return '김서방은 {}에 있다'.format(seoul.index("Kim"))
혹시나 했는데 역시나. f-string을 활용하는 것보다 훨씬 간단한 답이 있었다.
FORMAT() 매서드 : str.format()
- 문자열 뒤에 사용하는 매서드.
- 중괄호와 함께 사용하며, 중괄호에 넣을 내용을 괄호 안에 입력.
- 중괄호 내에 채울 내용을 용도에 맞게 설정할 수 있음.
- 서식 지정 가능(숫자 - 소수점 어떻게 표현할 것인가 등)
- 중괄호 내 인덱스 지정(숫자 입력)해서 입력 순서 설정 가능
- 딕셔너리와 함께 사용해서, 키워드 통해 여러 값 입력 가능
*디테일 참고 : https://mainia.tistory.com/6972
INDEX() 매서드
- 문자열, 리스트, 튜플 자료형에서 특정 문자의 위치를 찾아줌
- 찾는 문자열이 없으면 value error 발생
- *find() 매서드 : 문자열에만 사용 가능. 찾는 문자가 없을 경우 -1 반환
<문제25. 나누어 떨어지는 숫자 : or 활용>
def solution(arr, divisor):
if len[x%divisor == 0 for x in arr] >=1:
return [x%divisor == 0 for x in arr]
else:
return [-1]
함수 에러남;;
반복문은 계속해서 보다보니 간단하게 쓰는게 익숙해졌는데, 아직 if문까지 같이 간단하게 쓰는거는 익숙해지질 않았다.
작성한 답
def solution(arr, divisor):
result = [x for x in arr if x%divisor == 0]
if len(result) >=1:
return sorted(result)
else:
return [-1]
더 간단한 정답
def solution(arr, divisor):
return sorted([x for x in arr if x%divisor == 0]) or [-1]
OR
- 앞의 것이 참이면 해당 값을, 거짓이면 뒤의 것을 호출
- True 값이 없으면 False => 반환되는 list의 값이 비어 있는 경우를 False로 취급
TMI
- 허리가 확실히 많이 삐끗하긴 했던 건지, 이틀 연속 컨디션이 골골거림;;; 애초의 원대한 계획은 오늘까지 머신러닝 강의를 끝내는 것이었으나 개뿔. 내일까지 부지런히 들어야만 한다.
- 머신러닝이 내용이 많긴 해도, 중간중간 외울 것이 많긴 해도 기본적으로 컴퓨터가 알아서 다 해주는 것들이 많으니 아직까진 예상했던 것보다 쉽고 재밌는듯