Today I Learned

[TIL] 11.20 ~ 11.26

아놀드금자 2023. 11. 20. 19:35
728x90

11.20

 

#6550

input의 갯수가 정해지지 않은 상태에서 계속 입력받기

어떻게 멈추는가~~~?

 

1. sys.stdin.readline()사용

input()은 공백을 입력받으면 eof 에러가 발생하는데 

sys.stdin.readline()는 공백을 입력받으면 빈 문자열로 받는다고 한다!

그렇기때문에 이 방법 사용 가능

while True:
st = sys.stdin.readline()
if st == '':
    break

 

 

2. try ~ except 사용

while True:
	try:
    	st = input()
        ...
    except:
    	break

 

 

#1027

기울기 = y변화량/x변화량

음수양수 구분 잘하기

 


11.21

 #2631 

옮기는 아이의 수를 최대한 적게 해야하는데

어떤 기준으로 아이를 골라야 할지 모르겠음

문제 설명의 예시에서 왜 굳이 4번을 맨 처음으로 골랐을까... 뚫어져라 보다가 

DP랑 계속 연관지어 보니 갑자기 최장증가수열 알고리즘을 활용해서 아이를 고른것 같았다!!!

 

나는 DP에 취약하기 때문에 LIS부터 다시 공부하기로 했다...

https://calen.tistory.com/310

 

DP - LIS 최장증가부분수열

DP로 최장증가부분수열 구하기 Longest Increasing Subsequence python 방법은 두가지가 있다 하나는 이중 for문을 사용해서 o(n^2) 다른 하나는 이분탐색을 사용해서 o(nlogn)이 된다 1. o(n^2) 방법 dp배열: dp[i]를

calen.tistory.com


11.22

 

카카오 2021 테크인턴 코테 기출문제

2, 3번 타이머 맞춰서 풀어봄

 

3. 표 편집

처참한 점수 6점...^^;;;

내가 푼 방법

쓸데없는 변수를 너무 많이 만들었음

특히 직접 삭제하고 붙이고 너무 구체적으로 구현

now, stack, arr, temp, idx, value

 

 

 

 

해설

arr = [1,1,1] 삭제여부

now 현재 선택된 번호

stack 삭제한것 저장

확실히 불필요한 변수가 줄었다

 

U X : 삭제되지 않은 것만 X개 만큼 위쪽으로 now 이동

D X : 삭제되지 않은 것만 X개 만큼 아래쪽으로 now 이동

C : 삭제 arr[now] = 0, 스택에 index 번호 저장 / now 변경 -> 맨 끝일 경우에는 위로

Z:  스택에 있는 삭제된 index를 arr[] = 1로 변경

  • U, D, C: 최악의 경우 O(n)
  • Z: O(1)

 

해설2 효율성 측면에서

연결리스트(Linked list) 사용!!!

연결리스트의 특성 때문에 중간에 뭐가 사라져도 앞뒤끼리 노드를 잇는다

  • U, D: O(X)
  • C: 선택된 노드와 그 노드의 앞뒤로 연결된 노드들의 링크 정보만 변경해 주면 되기 때문에 O(1)
  • Z: 삭제된 노드 정보를 스택에 담아 두면 나중에 해당 노드에 O(1)에 접근하여 링크 정보 복구 가능

 

11.23

 

오늘은 SQL 데이~~

프로그래머스 sql 고득점 kit

 


 

11.24

MYSQL 에는 FULL OUTER JOIN이 없어서 UNION을 사용해야 한다

https://calen.tistory.com/312

 

SQL 고득점 KIT 오답노트

SELECT SELECT > 조건에 맞는 회원 수 구하기 나이 20 ~ 29 사이 -> BETWEEN ~ AND ~ 2021년에 가입한 회원 수 구하기 -> 나는 DATE에서 년도만 필요하기 때문에 YEAR() 활용 SELECT COUNT(*) AS USERS FROM USER_INFO WHERE AGE B

calen.tistory.com

 


 

11.25

 

 

 

 

 

728x90

'Today I Learned' 카테고리의 다른 글

[TIL] 11.13 ~ 11.19  (0) 2023.11.13