본문 바로가기

분류 전체보기100

[Python]12100. 2048 (Easy) https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2보다 크거나 같고, 1024보다 작거나 같은 2의 제곱꼴이다. 블록은 적어도 하나 주어진다. www.acmicpc.net 브루트포스문제라고 생각하며 재귀호출을 통해서 모든 경우의 수를 탐색한다. 매 move마다 check 배열을 생성해서 병합이 되어있는지 안되어있는지 검새를 해주는 것이 포인트 이다. 현재 자신의 위치와 다음 위치 모두가 병합된 적이 없어야만 병합을 시켜준다. 또한, 네가지 방향으로.. 2019. 5. 8.
Firebase Cloud Functions Node.js 6 에서 Node.js 8 로 업데이트하기 Firebase 를 이용해서 애플리케이션 푸쉬 메세징 기능을 구현했는데, 언제부턴가 푸쉬 메세징이 오지 않는다. (!) Firebase 웹 콘솔에 접속해보면 Node.js 6(Deprecated) 를 발견할 수 있다. 이를 해결하기 위해서는 Node.js 버전 업그레이드를 해줘야 한다. 아래 페이지를 참고해보자. https://medium.com/google-cloud/migrating-firebase-cloud-functions-to-node-8-aebdb0d3d9a9 Migrating Firebase Cloud Functions to Node 8 The purpose of this post is not to give a comprehensive guide but to point out a few po.. 2019. 5. 7.
[Python]보이어무어 알고리즘 본 코드는 text안에 찾는 pattern 이 있으면 1 없으면 0 을 출력해주는 코드이다 보이어무어 알고리즘을 적용했다. 보이어무어 알고리즘이란 다음과 같다 pattern의 오른쪽 끝 문자와 text의 현재 위치의 문자가 일치하는지 검사 끝이 일치하면 pattern과 text를 다 검사한다. 마지막까지 일치하지 않으면 패턴길이만큼 skip 끝이 일치하지않으면 text의 현재위치 문자가 skip배열에 있는지 확인. 있으면 인덱스만큼 skip, 없으면 패턴길이만큼 skip 텍스트 끝 도달할 때까지 반복 text = 'a pattern matching algorithm' pattern = 'rithm' s = pattern[::-1] skip = list(range((len(pattern)))) i = le.. 2019. 4. 27.
[Python]1248. 맞춰봐 https://www.acmicpc.net/problem/1248 1248번: 맞춰봐 문제 규현이는 멍청하다. 왜냐하면, 1~10까지 수 밖에 모르기 때문이다. 어느날 규현이 옆을 지나가던 태석이가 규현이를 보고 이렇게 외쳤다. "빵빵!!" 규현이는 "아하!" 하면서 세상에는 빵이란 수도 있구나 했다. 그날 이후로 규현이는 매일 친구들을 볼 때면 "빵빵!!" 거리면서 인사를 했다. 규현이의 친구 중에는 태방이가 있다. 자꾸 규현이가 "빵빵!!" 거릴때 마다 자신을 놀리는 것 처럼 생각했던 태방이는 규현이에게 그건 "빵이 아니고 영이야" 라 www.acmicpc.net 12345678910111213141516171819202122232425262728293031323334353637383940414243.. 2019. 4. 22.
[Python]14889. 스타트와 링크 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 이 문제는 0*n//2 와 1*n//2 로 이루어진 n 길이의 순열을 만들어서 이중포문에 넣으면 되는 간단한 문제이다. 12345678910111213141516171819202122232425262728293031323334353637383940414243def next_perm(a): i = len(a)-1 while i > 0 and a[i-1] >= a[i]: i -= 1 if i = a[j]: j -= 1 a.. 2019. 4. 22.
[Python]17143. 낚시왕 https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. 칸에는 상어가 최대 한 마리 들어있을 수 있다. 상어는 크기와 속도를 가지고 있다. 낚시왕은 가장 처음에 1번 열의 한 칸 왼쪽에 있다. 다음은 1초 동안 일어나는 일이며, 아래 적힌 순서대로 일어난다. 낚시왕은 가장 오른쪽 열의 오른쪽 칸에 www.acmicpc.net 1234567891011121314151617181920212223242526272829303132333435363738394041424.. 2019. 4. 18.
[Python]2529. 부등호 https://www.acmicpc.net/problem/2529 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력에 답은 항상 존재하며 출력 정수는 하나의 문자열이 되도록 해야 한다. www.acmicpc.net 1234567891011121314151617181920212223242526272829303132333435363738def recur(idx): if len(tmp) == k+1: result.append(tmp[:]) return for i in range(10): if idx == -1 and candi[i]: tmp... 2019. 4. 16.
[Python]17127. 벚꽃이 정보섬에 피어난 이유 https://www.acmicpc.net/problem/17127 17127번: 벚꽃이 정보섬에 피어난 이유 다음과 같이 나누는 것이 P의 합을 최대화 한다: [2] [5 3 1 4] [2] [3] www.acmicpc.net 123456789101112131415161718192021222324252627282930def recur(remainder, length): global answer if length == 0: if remainder == 0: v = 0 local_maximum = 0 for i in tmp: local_maximum += mul(a[v:v+i]) v += i answer = max(answer, local_maximum) return for i in range(1,rema.. 2019. 4. 14.
[Python]15559. 내 선물을 받아줘 https://www.acmicpc.net/problem/15559 15559번: 내 선물을 받아줘 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000, 1 < N×M ≤ 1,000,000) 둘째 줄부터 N개의 줄에는 구사과가 있는 곳의 지도가 주어진다. 지도에 쓰여 있는대로 이동했을 때, 지도를 벗어나는 경우는 없다. www.acmicpc.net 12345678910111213141516171819202122232425n, m = map(int, input().split())MAP = [list(input()) for _ in range(n)]check = [[0]*m for _ in range(n)]dic = {'N':(-1,0), 'S':(1,0), 'E':.. 2019. 4. 14.
728x90
반응형