분류 전체보기 103

[백준] 9205 - 맥주 마시면서 걸어가기 (파이썬, Python)

https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 출발지(상근이의 집)에서 출발해서 목적지(페스티벌 장소)까지 갈 수 있는지 판단하는 것이 이 문제의 목표입니다. 단, 현재 장소에서 거리가 맨해튼 거리로 1000 이하인 다음 장소(편의점 또는 목적지)로만 이동 가능하다는 조건이 있습니다. 이 문제는 그래프 탐색 문제입니다. 탐색은 너비 우선(BFS)으로 진행해도 되고, 깊이 우선(DFS)으로 탐색해도 되는 거 같습니다. 저는 깊이 우선 탐색..

PS/Python 2021.09.29

[백준] 1916 - 최소비용 구하기 (파이썬, Python)

https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 그래프에서 최소 비용을 구하는 문제로 다익스트라 알고리즘이 사용되는 대표 문제입니다. * 다익스트라 알고리즘: 한 노드에서 다른 모든 노드로의 최소 비용(=최단 거리)을 계산할 때 사용되는 방법 접근 방식 1. 입력된 모든 노드와 간선 정보를 저장 2. 다익스트라 알고리즘을 이용해서 출발 도시에서 모든 도시로의 최소 비용을 계산 3. 2단계에서 계산된 출발 도시에..

PS/Python 2021.09.28

[백준] 21610 - 마법사 상어와 비바라기 (파이썬, Python)

https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 이 문제는 구현 문제입니다. 입력으로 NXN 배열에 저장된 값이 주어지고, 주어진 문제 조건대로 명령을 수행한 후 마지막에 NXN 배열에 저장된 값의 합을 구하는 것이 이 문제의 목표입니다. 접근 방식 1. 입력 값을 입력받기 2. 초기 구름의 위치 정보를 1차원 배열인 cloud_list와 2차원 배열인 cloud_mat에 저장 cloud_list: 구름의 위치 정보(행, 열 값) 저장한..

PS/Python 2021.09.22

[Programmers] 합승 택시 요금 (파이썬, Python)

https://programmers.co.kr/learn/courses/30/lessons/72413 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 이 문제는 프로그래머스의 2021 KAKAO BLIND RECRUITMENT 문제집..

PS/Python 2021.09.21

[백준] 1920 - 수 찾기 (파이썬, Python)

https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 이 문제는 입력으로 저장해야 하는 N개의 숫자와 찾아야 하는 M개의 숫자가 주어지고, 각각의 찾아야 하는 수가 저장한 수 목록에 존재하는지 확인하는 것이 목표입니다. 문제를 해는 방법은 다양하게 존재하지만 저는 이분 탐색으로 문제를 해결했습니다. 전체 코드 제출 언어: Python3 시간: 600ms import sys def findNum(targ..

PS/Python 2021.09.19

[React Native] Toast message 만들기

Toast message는 아래 예시처럼 짧은 시간 나타났다 사라지는 메시지를 말합니다. Toast message는 Android에서 기본으로 지원하는 기능으로 React Native의 공식 문서에도 Android 한정으로 지원을 해주고 있습니다. https://reactnative.dev/docs/toastandroid 이번 게시글에서는 javascript로 Toast 메시지를 구현하는 방법을 정리하려 합니다. 필요 라이브러리 - react-native-reanimeted * react-native-reanimated v2 설치가 필요하신 분은 아래 링크를 참고해도 좋을 거 같아요😊 https://coding-w00se.tistory.com/39 진행 순서 1. Toast 기능 구현 step 0. Vi..

[React Native] Collapsible Tab View 만들기

Collapsible Tab View는 아래의 예시처럼 Tab Screen의 scroll gesture에 따라 Header가 위치 및 크기가 조절되는 view입니다. React Native에서 해당 기능을 아래 라이브러리로 구현 가능합니다. - react-native-collapsible-tab-view 또한 라이브러리는 아니지만 JungHsuan 님께서 멋진 예시 코드를 공개해주셨습니다. - https://github.com/JungHsuan/react-native-collapsible-tabview 이번 게시글에서는 Collapsible TabView를 구현하기 위해 위 두 가지 코드를 보면서 공부한 내용을 정리하려 합니다. 필요 라이브러리 - react-native-tab-view 진행 순서 ste..

[백준] 2644 - 촌수계산 (파이썬, Python)

https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 그래프 문제입니다. 입력으로 부모-자식 관계가 주어지고 주어진 두 사람의 촌수를 구하는 것이 이 문제의 목표입니다. 저는 깊이 우선 탐색(dfs)으로 이 문제를 해결했습니다. 접근 방식 1. 입력으로 주어진 가계도를 2차원 배열에 저장합니다. 2. 촌수를 계산해야 하는 사람을 각각 p1, p2라고 할 때, p1을 시작으로 탐색을 진행합니다. 3. 현재 탐색하는 사람과 관계가 있..

PS/Python 2021.09.17

[백준] 15684 - 사다리 조작 (파이썬, Python)

https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 전체 코드 제출 언어: PyPy3 시간: 1400ms import sys def check_is_success(): global N, H, mat is_success = True for i in range(1, N+1): d = 0 idx_left, idx_right = i-1, i for j in range(H): if mat[j][idx_left]: d -= 1 idx_left -= 1 id..

PS/Python 2021.09.15

[Programmers] 신규 아이디 추천 (파이썬, Python)

https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 전체 코드 import re def solution(new_id): answer = '' # 1단계 id = new_id.lower() # 2단계 id = re.sub("[^a-z0-9-_.]", "", id) # 3단계 id = re.sub("\.{2,}", ".", id) # 4단계 id = re.sub("^\.|\.$", "", id) # 5단계 i..

PS/Python 2021.09.10