목록분류 전체보기 (392)
HTD
https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net import sys input = sys.stdin.readline def getBlankPositions(): blankPositions = [] for i in range(9): for j in range(9): if board[i][j] == 0: blankPositions.append([i, j]) return blankPositions def dfs(blankIndex): global b..
여러 개의 권한을 묶어서 권한이 허용되었는지 확인하고, 개중 허용되지 않은 권한들에 대해서 권한 요청을 보내는 상황이다. - 권한 획득 여부 확인 ContextCompat.checkSelfPermission(Context context, String permission)는 PERMISSION_GRANTED 또는 PERMISSION_DENIED를 반환한다. - 권한 요청 ActivityCompat.requestPermissions(Activity activity, String[] permissions, int requestCode)는 Array로 묶인 권한들을 전부 요청해준다. 여기서 requestCode는 단순히, 요청을 하는 액티비티를 구분하기 위한 코드이다. - import import android..
https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N 과 건물간의 건설순서규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net import sys input = sys.stdin.readline def dfs(building, depth): global buildingsOnDepth if buildingsOnDepth.get(depth): if building in buildingsOnDepth[depth]: return buildingsOnDepth[depth].add(building) else: buildings..
https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V(1≤V≤20,000)와 간선의 개수 www.acmicpc.net import sys input = sys.stdin.readline def setVerticesColor(start): global verticesColor todo = [start] verticesColor[start] = 1 while todo: curVertex = todo.pop(0) for next in graph[curVertex]: if verticesColor[next]..
https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net import sys input = sys.stdin.readline def dfs(count): global minButtonClickCount, selectedDigits if (len(str(N))-1
첫번째는 AndroidManifest.xml의 해시값을 확인하는 것이며, 두번째는 앱에서 '지도' 권한이 허용되었는지를 확인하는 것이다. - 관련 링크 권한 요청하는 법 https://rccode.tistory.com/entry/Check-If-Permissions-is-granted-or-denied-And-Request-Permissions-in-Android?category=1188549 Check If Permissions is granted or denied And Request Permissions in Android 여러 개의 권한을 묶어서 권한이 허용되었는지 확인하고, 개중 허용되지 않은 권한들에 대해서 권한 요청을 보내는 상황이다. - 권한 획득 여부 확인 ContextCompat.che..
https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net import sys input = sys.stdin.readline P = [0, 1, 1, 1, 2] T = int(input()) for _ in range(T): N = int(input()) for i in range(len(P), N+1): P.append(P[i-1] + P[i-5]) print(P[N]) 해당 수열을 분석해보면 P[n] = P[n-1] + P[n-5]라는 결론이 도출된다. ..
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net import sys import copy input = sys.stdin.readline TOP, RIGHT, BOTTOM, LEFT = 0, 1, 2, 3 dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] def dfs(count): global board if count == 5: setMaxBlock(board) return for i in ra..
https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net import sys input = sys.stdin.readline left = list(input().rstrip()) right = [] M = int(input()) for _ in range(M): curLine = list(map(str, input().rstrip().split())) if curLine[0] == 'L' and left: right.append(left.pop()) el..
https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net import sys input = sys.stdin.readline class Node: def __init__(self): self.start = None self.end = None self.left = None self.right = None self.var = None def initializeSegmentTree(node, sta..