https://programmers.co.kr/learn/courses/30/lessons/17679?language=python3 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 애니팡처럼 2x2 같은 모양의 캐릭터가 있으면 블록을 지우는 게임 입니다. 알고리즘은 다음과 같습니다. 모양이 같은 블록을 지우고 위에 있던 블록들이 아래로 떨어져야 하는데 이부분을 구현하기 위해서는 리스트를 회전 시켜 주는게 좋습니다. list(map(list,zip(*board))) 코드를 쓰면 리스트를 ..
https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 문자열을 뿌요뿌요처럼 문자열안에 특정 문자열이 나올 경우에 폭발 시키는 문제입니다. 처음에는 반복문으로 문자열.find(찾을문자열)로 문자열을 지워주는 방법으로 했는데 이 방법은 시간초과가 걸린다. find의 시간복잡도는 O(n)이기 때문에 반복적으로 find를 돌리면 시간이 오래 걸린다. stack을 이용하면 문자열을 한번만 돌며 해결을 할 수 있다. def boom(s, bomb..
https://programmers.co.kr/learn/courses/30/lessons/12953?language=go 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr func gcd(x int, y int) int { if x % y == 0 { return y } else { return gcd(y, x % y) } } func lcm(x int, y int) int { return (x * y) / gcd(x,y) } func solution(arr []in..
Go 컨텍스트 Context 타입은 여러 Go 루틴에서 동시에 안전하게 사용할 수 있는, 요청 범위 데이터에 접근하기 위한 안전한 방법을 구현한다. Context 패키지의 주 목적은 Context타입을 정의하고 취소 기능을 지원하는 것이다. 하나의 문맥 으로 해석할 수 있는 context는 http 1개의 요청이 들어와서 응답이 나갈때까지 한개의 문맥이나 맥락으로 볼 수 있듯 함수가 동작함에 있어서 문맥을 넣어서 진행 상황을 파악 할 수 있게 해준다. 특히 go루틴 같은경우 go루틴이 끝나는 시점이 필수적이기 때문에 context를 넣어서 끝날 시점을 정해 줄 수도 있다. 개념적으로는 하나의 무전기라고 볼 수 있다. 일꾼 하나를 보내면서 context라는 무전기 하나 들려 보내고, 그리고 만약 필요하다면..
map은 리스트의 요소를 지정된 함수로 처리해주는 함수입니다. 반복문을 쓰지 않고 map(함수, 리스트) 형태로 사용할 수 있습니다. 이때 list요소에 한개 이상의 함수를 쓰고 싶다면 직접 함수를 만들어서 쓰면 됩니다.. 😉 # Return cube of n def cube(n): return n**3 # Taking list as iterator evennum = [2,4,6,8] res = map(cube,evennum) print(list(res))
GOROOT & GOPATH GOROOT : GOROOT은 이름이 암시하듯이 Go의 본거지입니다. 이 폴더에는 컴파일러를 비롯해서 인스톨러로 설치한 것들이 모두 들어있습니다. 보통은 mac, linux에서 /usr/local/go에 위치하는데 Go를 설치하면 Go관련된 실행파일, SDK 등이 위치하는 곳입니다. GOPATH : Go는 python 이나 nodejs와는 다르게 자기가 원하는 디렉터리에서 작업을 진행할 수 없습니다. GOPATH로 지정되어 있는 공간에서만 작업이 가능합니다. 대부분 username/go 의 경로에 있습니다. 이 경로 안에는 bin, pkg, src가 있는데 src안에는 github.com, golang.org 등이 있는데 npm ,pypi와 같이 패키지를 다운로드 받았을때 u..
https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 풀이 : 문제가 하라는대로 리스트를 만든 후에 순서대로 회전 시키고, 출력하였다. index가 헷갈리는 부분이 많아서 시간이 오래걸렸다. def up(x1, x2, y1, _map) : arr = [] for i in range(x2 - x1) : _map[x1 - 1 + i][y1-1] = _map[x1 + i][y1-1] arr.append..
0,0 에서 시작해서 mapsize, mapsize 까지 가기 위한 최단거리를 구하는 문제이다. BFS는 공식과도 같다 하여 BFS알고리즘을 검색하여 참고하여 코드를 구현 하였다. # https://programmers.co.kr/learn/courses/30/lessons/1844 # BFS를 써야 풀 수 있는 문제 from collections import deque def nextXY(n, maps, sizeY, sizeX) : y = n[0] x = n[1] depth = n[2] nextque = [] if y - 1>= 0 and maps[y - 1][x] != 0 : #up nextque.append([y - 1, x, depth + 1]) if y + 1 < sizeY and maps[y ..
- Total
- Today
- Yesterday
- conTeXt
- 방금그곡
- 소프트웨어 장인
- query
- 문자열 뒤집기
- for-else
- 백준
- leetcode
- 파이썬
- stdout
- dfs
- go context
- 독후감
- ManyToMany
- 팰린드롬수
- Python
- go
- 프로그래머스
- sql lite
- gunicorn
- django
- Two Scoops of Django
- 의대 신경학 강의
- taggit
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |