전체 글 78

[Python] 괄호 회전하기

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 2. 풀이 copy 대신 이렇게도 쓸 수 있다 s = origins[:] 3. 코드 def checkpair(a,b): if a == '(': if b == ')': return True elif a == '{': if b == '}': return True elif a == '[': if b == ']': return True return False def checkstack(origins): s = origins[:] stack = [] top = -1 answer = 0 for i in s: new = i if top !=..

ALGORITHM/Kakao 2021.10.05

[Python] 비밀지도

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 2. 풀이 파이썬의 비트연산 : & 와 | 파이썬 십진수 -> 이진수 바꾸는 함수 : bin() 3. 코드 def solution(n, arr1, arr2): arr3 = [] answer = [] for i in range(n): arr3.append(arr1[i] | arr2[i]) for i in range(n): bin_temp = bi..

ALGORITHM/Kakao 2021.10.03

[Python] 수식 최대화

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 2. 풀이 - deep copy list를 함수에 인자로 넣으면 list가 바뀐다.. ㄷㄷ.. 나는 이걸 왜 지금까지 몰랐던가... 그래서 다른 함수로 부른 뒤 deepcopy를 이용하여 복사해서 사용해야 한다..!! - remove (값) remove는 항상 값을 맨 앞에부터 지운다! 동명 다른값이 지워지지 않도록 조심하자 3. 코드 import ..

ALGORITHM/Kakao 2021.10.02

[Python] 키패드 누르기

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 2. 풀이 - r - 1 % 3 하면 1 % 3 이 먼저 계산된다. - 이거로 뻘짓함.. 바보임.. 3. 코드 def solution(numbers, hand): answer = '' l = 10 r = 12 for i in numbers: ..

ALGORITHM/Kakao 2021.09.30

[Python] 징검다리

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/64062?language=python3 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr 2. 풀이 제귀가 아니라 그냥 반복문으로 풀 수있으면 반복문으로 끝내자...^^* 3. 코드 def countx(stones, target): cnt = 0 max_cnt = 0 for i in stones: if i max_cnt): max_cnt = cnt cnt = 0 if (cnt > max_cnt): max_cnt = cnt return max_cnt de..

ALGORITHM/Kakao 2021.09.30

[Python] 괄호 변환

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/60058?language=python3 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 2. 풀이 - 파이썬 string 함수 뒤집기 ans = ans + u[:: -1] 3. 코드 # p를 문자열 2개로 분리 def split(p): cnt = 0 index =0 for index in range(len(p)): if p[index] == ')': cnt = cnt +1 else : cnt = cnt -1 ..

ALGORITHM/Kakao 2021.09.30

[Docker] Django + Gunicorn + Ngnix + MySQL 로 도커 세팅하기

1. 들어가기 전 도커 세팅은 언제 해야하는가. .많은 개발자들이 고민하는 문제일 것이다. 내가 몇 안되지만.. 주변에 자문을 구해본 결과 !! 대다수가 맨 처음에 다 세팅해두는게 편하다고 대답했다 그래서 내가 지금 그러고 있는데 결과는 굉장히 만족!! 세팅에는 굉장히 삽질했지만 그래도 만족한다. 서버 킬때 python run server 하던걸 그냥 docker-compose up 해주면 된다! 갱장히 편리~.~ 본인 컴퓨터 : 맥 M1 칩 따라서 m1칩은 arm 베이스 이미지만 세팅이 되기때문에 몇개를 커스터마이징 해서 사용하였다. 아래 자세히 설명할 예정 2. 도커 세팅하기 2-1. 디렉토리 나누기 우선 나는 디렉토리를 나누어서 각각 도커 파일을 두었다. 프로젝트 이름이 kuku 라고 하면 Kuku..

WEB/DevOps 2021.07.17

[Swagger(Redoc) + Django] Request samples, Response samples 직접 입력하기

요즘 바빠서 블로그 글쓰는걸 까먹고 있다가 오늘 삽질을 너무 오래해서 글을 하나 쓴다. 1. 문제 상황 스웨거와 리독을 자동으로 연결 해놨는데 CBV 기반의 코드들만 request example과 response example 이 안뜨는 것을 확인했다. 정상 상황 문제 상황 보면 오른쪽 까만 화면에 에제 데이터가 떠야 되는데 안뜸을 알 수 있다. 2. 해결 방법 2-1. Response samples 만들기 - 우선 swagger_auto_schema와 openapi를 import 한다. - 예제 데이터가 담긴 response_schema_dict(예시 이름) 을 만든다 - 아래 코드의 "key" : "value" 란에 예제 데이터를 담으면 된다. from drf_yasg.utils import swag..

WEB/Django 2021.07.17

[Kakao_ocr API] Google Colab으로 OCR해보기

1. OCR이란? Optical Character Recognition (광학 문자 인식) 이미지에서 text범위를 추출하여 text를 문자로 인식하는 기술 - OCR은 다음과 같이 텍스트 범위 인식 -> 이미지 정규화 -> 텍스트 recognition 과정으로 이루어진다. 2. Google Colab으로 이미지 불러오기 colab에서 OCR을 진행하기 전, 이미지를 불러올 방법을 먼저 알아보자. 2.1 drive 가지고오기 from google.colab import drive drive.mount('/content/drive') import numpy as np import cv2 from google.colab.patches import cv2_imshow​ - 다음과 같이 구글 드라이브를 가지고 ..

NEW TECH/OCR 2021.05.25

(C++) 행렬 테두리 회전하기

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/77485 2. 풀이 정말.. 말 그대로 돌리면 된닼ㅋㅋ 3. 코드 #include #include using namespace std; vector solution(int rows, int columns, vector queries) { vector square; vector answer; int index = 1; for(int i = 0; i < rows; i ++){ vector element; for(int j = 0 ; j < columns; j++){ element.push_back(index); index ++; } square.push_back(element); } for(int i = ..

ALGORITHM/Kakao 2021.05.16