제주코딩베이스캠프 20

[제주코딩베이스캠프] 눈떠보니 코딩테스트 전날 | 재귀함수3

문제 접근 방법 1. 반복문의 경우 > Bottom - up (작은 문제에서 출발) 2. 재귀함수의 경우 > Top-down (큰 문제에서 출발) recursion = 재귀함수 재귀함수에서는 종료조건이 꼭 있어야한다.! # 2진수 구하기 (방법1 : 내장함수 사용) print(bin(11)[2:]) #2진수, 0b 지우기 print(oct(11)) #8진수 print(hex(11)) #16진수 (방법2 : while문 사용) result='' input_num=10 while True: if input_num%2==0: result+='0' else: result+='1' x=x//2 if x==1 or x==0: print(result[::-1]) break (방법3 : 재귀함수 사용) result =..

[제주코딩베이스캠프] 눈떠보니 코딩테스트 전날 | 문제7. Eureka!

1. matrix 형태의 동적 계획법 - Recursion -memorization 이동 방법 1. 맨 왼쪽에서 시작할 경우 이동할 수 있는 방향 : 오른쪽, 아래 3으로 이동하는 최단 거리를 구하는 방식 > min(최소경로(i-1,j), 최소경로(i,j-1)+값(i,j) 일반적으로는 왼쪽에서 출발해서 오른쪽으로 순회를 한다. 하지만 문제에서는 다르다. 오른쪽에서 출발해서 왼쪽으로 순회한다. cross=[ [[3, 0, 1, 1, 8], [5, 0, 4, 5, 4], [1, 5, 0, 5, 1], [1, 2, 1, 0, 1], [0, 2, 5, 1, 1]], [[1, 2, 0, 3, 3], [1, 2, 0, 2, 4], [1, 2, 0, 2, 4], [4, 2, 0, 0, 1], [8, 4, 1, 1, ..

[제주코딩베이스캠프] 눈떠보니 코딩테스트 전날 | 문제6. 밭의 비밀

numpy를 이용하면 쉽게 배열 회전이 가능하다. 하지만 인터넷 검색 결과 백준 및 삼성 코테에서는 사용 불가 ㅠㅠ import numpy as np np.rot90(두번째밭,1) + np.array(첫번째밭) # 1회전 반시계방향, 1회전 시계방향은 -1이라고 쓰면 된다. np.rot90(두번째밭,1) - np.array(첫번째밭) np.rot90(두번째밭,1) * np.array(첫번째밭) np.rot90(두번째밭,1) @ np.array(첫번째밭) #행렬의 곱 # 8진법으로 문자열을 바꾸면 정답이다. 정답 = np.rot90(두번째밭,1) + np.array(첫번째밭) chr(int(''.join([str(i) for i in 정답[0]]),8)) #8진법으로 for k in range(5): pr..

[제주코딩베이스캠프] 눈떠보니 코딩테스트 전날 | 문제5. 그림자 연결!

def 깊이우선탐색(graph,start): 방문=[] # 너비우선탐색 : 큐 이용 / 깊이우선탐색 : 스택 이용 stack=[start] while stack: n=stack.pop() if n not in 방문: 방문.append(n) 차집합 = graph[n]-set(방문) stack+=차집합 return 방문 깊이우선탐색(graph,100) # 작은값 순회 def 깊이우선탐색(graph,start): 방문=[] # 너비우선탐색 : 큐 이용 / 깊이우선탐색 : 스택 이용 stack=[start] while stack: n=stack.pop() if n not in 방문: 방문.append(n) 차집합 = graph[n]-set(방문) if len(차집합)==0: 방문+=stack break stac..

[제주코딩베이스캠프] 눈떠보니 코딩테스트 전날 | 문제4. 자리를 양보해가며!

LRU 알고리즘 (Least Recently Used Algorithm) : 메모리 상에서 가장 최근에 사용한 적이 없는 캐시의 메모리부터 대체하며 새로운 데이터로 갱신시켜준다. 즉, 부재가 발생했을 경우 가장 오랫동안 사용되지 않은 페이지를 제거하는 알고리즘이다. 교체가 자주 일어나는 페이지의 자리를 보존해준다는 의미이다. ※ 페이지부재 : 메모리에 적재된 페이지중에 사용 페이지가 없을 때를 가리키는 말이다. 페이지교체 알고리즘 > 페이지 교체 알고리즘은 메모리를 관리하는 운영체제에서, 페이지 부재가 발생하여 새로운 페이지를 할당하기 위해 현재 할당된 페이지 중 어느 것을 교체할지를 결정하는 방법입니다. HIT > 참조하는 값이 이미 페이지에 존재할 경우! 1회 false (척추동물) 2회 false ..

[제주코딩베이스캠프] 눈떠보니 코딩테스트 전날 | 문제3. 섬으로 건너가라

오늘도 열심히 강의를 들으며 문제를 풀어나가봅니다..! 이 문제 해설 강의를 보기 전에 혼자서 먼저 풀어봤는데, 백준 사이트에서만 문제를 풀다가 새로운 유형의 문제를 풀으려니까 적응이 잘 안되더라구요 ㅠㅠ 그래도 열심히 해석해보다가 해설 강의 호로록 들어봤어요 :) datetime 모듈 > 날짜와 시간 데이터 처리를 담당한다. import datetiem 오늘시간=datetime.datetime.today() 오늘시간.year 오늘시간.month 오늘시간.day 오늘시간.hour 오늘시간.minute #01:01 시간=1 분=1 f'{시간:0>2}:{분:0>2}' import datetime 오늘시간=datetime.datetime.today() 대기인원=14000605 def solution(대기인원)..

[제주코딩베이스캠프] 눈떠보니 코딩 테스트 전날 | 문제2. JAVA독과 함께

눈떠보니 코딩테스트 전날 강의를 들으면 문제들이 보기 좋게 정리가 되어 있는 노션 링크를 공유해주십니다! 파일을 다운 받지 않아도 되니까 너무 편하고 좋아요 ㅠㅠ 핸드폰으로도 번거롭지 않게 바로 들어갈 수 있어서 더더욱 좋네요 ㅎ..ㅎ del의 시간 복잡도 : O(1) > 인덱스로 삭제한다. > del array[인덱스] 형식 > 인덱스에 범위 연산자 슬라이싱(:)을 사용하면 여러 개의 요소도 삭제 가능하다. remove의 시간 복잡도 : O(N) > 값으로 삭제한다. > array.remove(x) def 징검다리를건너라(돌의내구도,독): answer = [i['이름'] for i in 독] for i in 독: 독의위치=0 while 독의위치 JSON 파일에 저장하기 loads()함수 : JSON 문..

[제주코딩베이스캠프] 눈떠보니 코딩 테스트 전날 | 문제1. 암호해독

** 인코딩 ** : 문자나 기호들의 집합을 컴퓨터에서 표현하는 방법, 문자 코드라고도 한다. 1. 문자열 및 공백제거 함수 : strip(),lstrip(),rstrip() (1) strip('삭제할 문자들') > 문자열 양쪽에 있는 해당 문자 및 공백을 삭제한다. 만약 strip()라면 공백제거 (2) lstrip('삭제할 문자들') > 왼쪽의 특정 문자 삭제하기 (3) rstrip('삭제할 문자들') > 오른쪽의 특정 문자 삭제하기 2. 문자열 나누기 split('기준 문자') : 공백을 기준으로 문자열을 분리하여 리스트로 결과를 반환해준다. split() > 공백을 기준으로 나눈다. 3. 문자열 바꾸기 replace('바꿀문자열','새문자열') 바꿀 문자열 -> 새문자열 replace() 함수는 ..

[제주코딩베이스캠프] 제코베 서포터즈 2기 합격 & 굿즈 후기

안녕하세요 여니입니다 :0 저번주에 정처기 실기 시험을 보고 왔는데.. 공부를 덜 했나봐요 ㅠㅠ 가채점 결과가.. 커트라인에서 2점 정도 부족하더라고요.. 솔직히 다 안다고 생각하고 공부도 설렁설렁 했는데 ㅠㅠ 반성하고 불합격 통지 받으면 그때부터 .. 3회 실기시험 열심히.. 준비해보겠습니다.. 사실 정처기 시험 준비하기 전에! 제주코딩베이스캠프 서포터즈 2기를 뽑는다는 공고글을 보고 고민없이 바로 지원을 했었는데요! 인프런 사이트를 자주 이용하고 있기도 했고 무엇보다도 이번 방학엔 코딩테스트 대비 공부를 꼭 해야해서 강의를 알아보던 도중에 한 줄기의 빛처럼 제게 다가온 제코베..★ 솔직히 대학생한테 단돈 5만원도 큰 돈처럼 느껴지기에 사실 계속 고민을 했었는데,, 감사하게도 이렇게 서포터즈로 뽑아주셔..