전체 글 544

[baekjoon] 백준 16918번(파이썬): 봄버맨

문제 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net 알고리즘 - 매 단계마다 함수를 만들어 문제에서 원하는 모션을 수행한다. - 단계마다 시간초를 -1을 해주면서 시간 초가 다 지났을 때, 그래프 모양을 출력한다. 코드 import sys from collections import deque # 1단계 def loc_bomb(): for i in range(r): for j in range(c): if graph[i][j] == 'O': bomb.append((i, j)) # 3단계 def full_bomb(): for i i..

CodingTest/Baekjoon 2021.08.15

[baekjoon] 백준 12852번(파이썬): 1로 만들기 2

문제 12852번: 1로 만들기 2 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다. www.acmicpc.net 알고리즘 - bfs 탐색을 통해 문제를 수행한다. - if문을 통해 각 조건에 맞으면 큐에 추가한다. - 리스트의 원소가 1이면 리스트를 리턴받는다. 코드 import sys from collections import deque # bfs 탐색 def bfs(v): queue = deque([[v]]) while queue: # 큐 리스트에서 제일 작은 리스트부터 확인 target = queue.popleft() # 제일 작은 리스트에서 제일 작은 원소부터 확인 temp = target[0] # 원소가 1이면 그 리스트를 리턴 if temp == 1: return..

CodingTest/Baekjoon 2021.08.14

[kotlin] 코틀린 Android 현재 위치를 GPS 좌표로 구하기

안드로이드 개발을 하다 보면 위치를 이용해서 구현해야 하는 기능이 있다. 그럴 때 우리는 GPS 좌표를 통해 수행하게 된다. 이번에는 현재 위치를 GPS 좌표를 통해 구해보자. Gradle 설정 우선 build.gradle(project) 파일에 Android SDK 레파지토리(Repository)를 설정한다. 구글 플레이 서비스 API를 통해 위치 값을 가져오기 위해 라이브러리를 빌드한다. implementation 'com.google.android.gms:play-services-location:18.0.0' 위 코드를 작성하고 우측 상단에 있는 'Sync Now'를 누른다. AndroidManifest.xml 사용자의 위치를 받아오기 위해 권한을 추가한다. MainActivity 이제부터는 코드적..

Develop/Kotlin 2021.08.13

[baekjoon] 백준 7569번(파이썬): 토마토

문제 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 알고리즘 - bfs 탐색을 통해 문제를 수행한다. - 토마토의 위치를 미리 저장해서 bfs 탐색을 한다. - 탐색이 모두 끝나고도 익지 않은 토마토가 있으면 -1을 출력한다. 밑에 문제를 풀고 이 문제를 풀면 좋을 듯하다. [baekjoon] 백준 7576번(파이썬): 토마토 문제 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단,..

CodingTest/Baekjoon 2021.08.13

[Java] 자바 Android 튜토리얼 페이지 구현

안드로이드를 개발하다 보면 설명이 필요한 기능이나 권한의 용도를 설명해야 할 때가 있다. 이러한 경우에는 튜토리얼 페이지를 통해 사용자가 쉽게 이해할 수 있도록 도울 수 있다. 그럼 이제 튜토리얼 페이지를 구현해보자. res -> strings.xml 우선 튜토리얼 페이지에서 사용할 글자를 정의한다. TutorialActivity 다음 건너띄기 시작 여기서 정의된 글자는 버튼의 글자이며 조건에 따라 글자를 띄울 것이다. res -> values.xml 다음으로 색을 정의할 것이다. #FFBB86FC #FF6200EE #FF3700B3 #FF03DAC5 #FF018786 #FF000000 #FFFFFFFF #07E940 #FFAD03 #FF3385 #25C8E4 #1C7C34 #A5662D #A54B6A ..

Develop/Java 2021.08.11

[baekjoon] 백준 5639번(파이썬): 이진 검색 트리

문제 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net - 이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다. 노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다. 노드의 오른쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 크다. 왼쪽, 오른쪽 서브트리도 이진 검색 트리이다. - 전위 순회 (루트-왼쪽-오른쪽)은 루트를 방문하고, 왼쪽 서브트리, 오른쪽 서브 트리를 순서대로 방문하면서 노드의 키를 출력한다. - 후위 순회 (왼쪽-오른쪽-루트)는 왼쪽 서브트리, ..

CodingTest/Baekjoon 2021.08.11

[baekjoon] 백준 5567번(파이썬): 결혼식

문제 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net - 상근이는 자신의 결혼식에 학교 동기 중 자신의 친구와 친구의 친구를 초대하기로 했다. - 상근이의 동기는 모두 N명이고, 이 학생들의 학번은 모두 1부터 N까지이다. - 상근이의 학번은 1이다. - 상근이는 동기들의 친구 관계를 모두 조사한 리스트를 가지고 있다. - 이 리스트를 바탕으로 결혼식에 초대할 사람의 수를 구하는 문제이다. - 상근이의 동기의 수 n (2 ≤ n ≤ 500)이 주어진다. - 리스트의 길이 m (1 ≤ m ≤ 10..

CodingTest/Baekjoon 2021.08.10

[baekjoon] 백준 2583번(파이썬): 영역 구하기

문제 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net - 눈금의 간격이 1인 M×N(M,N≤100)크기의 모눈종이가 있다. - 이 모눈종이 위에 눈금에 맞추어 K개의 직사각형을 그릴 때, 이들 K개의 직사각형의 내부를 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어진다. - 예를 들어 M=5, N=7 인 모눈종이 위에 과 같이 직사각형 3개를 그렸다면, 그 나머지 영역은 와 같이 3개의 분리된 영역으로 나누어지게 된다. - 와 같이 분리된 세 영역의 넓이는 각각 1, 7, 13이 된다..

CodingTest/Baekjoon 2021.08.09

[kotlin] 코틀린 Android 공공데이터 오픈 API 활용(JSON 문서)

이전에 XML 형식으로 오픈 API를 요청하여 데이터를 확인해 보았다. [kotlin] 코틀린 Android 공공데이터 오픈 API 활용(XML) 이번에는 다양한 데이터가 있는 공공데이터 포털을 통해 오픈 API를 활용해려고한다. 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법 fre2-dom.tistory.com 이번에는 JSON 형식으로 오픈 API를 요청하여 데이터를 확인해보자. 공공데이터 오픈 API를 신청하는 방법은 위 링크를 통해 알아보고 오면 좋을 것 같다. 그럼 공공데이터 오픈 API 신청까지 끝났다고 가정하고 진행하겠다. 우선 기본 정보 목록 조회 미리 보기 과정에서 JSON으로 요청하기 위해 “&_type=json”을 추가하여 요청한다..

Develop/Kotlin 2021.08.08