분류 전체보기 103

[백준] 19238 - 스타트 택시 (파이썬, Python)

https://www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 해당 문제는 그래프 문제입니다. 문제의 목표는 주어진 모두 승객들을 목적지까지 이동시킨 후 남아 있는 연료를 구하는 것입니다. 단, 택시가 이동하는 중 연료가 바닥이 나거나 승객을 목적지까지 이동시킬 수 없다면 -1을 출력합니다. 이 문제는 두 가지 중요한 조건이 있다고 생각합니다. 조건 1. 다음에 태울 승객을 정할 때는 최단 거리에 있는 승객을 태운다. ..

PS/Python 2021.06.13

[React Native] BottomSheet 만들기

하나의 스크린에서 부가적인 기능 또는 정보를 제공하기 위해 아래와 같은 BottomSheet가 사용됩니다. React Native에서 사용할 수 있는 BottomSheet 라이브러리는 'react-native-reanimated-bottom-sheet'라는 라이브러리가 있습니다. https://github.com/osdnk/react-native-reanimated-bottom-sheet 위 라이브러리를 이용할 때 BottomSheet의 높이에 따라 background 색상을 변경시키는 설명은 아래 링크에 나와 있습니다. https://stackoverflow.com/questions/63701648/react-native-react-native-reanimated-bottom-sheet-how-can-..

[백준] 14500 - 테트로미노 (파이썬, Python)

https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 해당 문제의 분류는 구현입니다. 이 문제를 두 가지 종류의 해결하는 방법이 있는 거 같습니다. 1) 모든 테트로미노 경우의 수를 구하고 칸마다 대입해보기 2) 이동 거리를 4 칸으로 제한하고 탐색을 진행하기 저는 위 방법 중 2번 방법으로 시도했습니다. 제 코드는 아래와 같습니다. 해당 코드는 Python3로 제출 시 시간 초과가 발생하여 PyPy3로 제출했습니다. 전체 코드 import sys ..

PS/Python 2021.06.05

[백준] 14499 - 주사위 굴리기(파이썬, Python)

https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 해당 문제는 구현문제입니다. 주사위를 굴려서 각 회차마다 주사위의 윗 면에 쓰인 수를 출력하는 게 이 문제의 목적입니다. 이 문제의 핵심은 주사위의 상태를 저장하는 방법을 구현하는 것이라 생각합니다. 저는 3 X 3 배열에 주사위의 상태를 1 X 6 배열에 각 면에 수를 저장하는 방법을 택했습니다. 주사위의 상태를 저장하는 방법은 ..

PS/Python 2021.05.30

[백준] 17144 - 미세먼지 안녕!(파이썬, Python)

https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 해당 문제는 문제의 설명대로 1) 미세먼지를 확산시킨다. 2) 공기 청정기를 작동시킨다. 이 두 가지를 구현하는 문제이다. 저는 이 문제를 Python3로 제출할 때 시간 초과가 났습니다. 제 코드에 비효율적인 부분이 있는 거 같습니다. 하지만 구현 문제인 만큼 정확성을 확인하고 싶었고 아래의 글을 참고한 후 PyPy3로 제출을 했습니다. https://www.acmicpc.net/board/v..

PS/Python 2021.05.30

[React Native] Splash 스크린 사용 시 Ios 기기 멈춤 현상

Splash Screen이 적용된 React Native 앱을 Xcode를 통해 실제 ios 기기에 실행한 후 앱을 종료하고 다시 앱을 켜면 Splash 화면에서 앱이 10초가량 멈추고 종료되는 현상을 겪었습니다. 해당 문제에 대한 실마리는 Stack Overflow에서 얻을 수 있었습니다. https://stackoverflow.com/a/44835285 React native app stuck on splash screen on device but works in simulator My React Native app works in the XCode simulator with no issues, but when I run in a physical device, my iPhone, there's a p..

[백준] 17140 - 이차원 배열과 연산(파이썬, Python)

https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 해당 문제는 조건에 따라 각 행 또는 열에 연산을 반복하면서 주어진 위치에 지정한 값이 있는지 확인하는 문제입니다. 저는 이 문제를 풀 때 각 행과 열의 최대 길이가 100이 된다는 것에 집중했습니다. 처음부터 100 X 100 크기의 배열을 이용해서 작업을 했습니다.(행과 열의 길이를 맞추는 작업을 간단히 하기 위해 위와 같이 했지만 이것 때문에 속도가 느려진 게 아닌가 생각이 듭니..

PS/Python 2021.05.19

[백준] 14502 - 연구소(파이썬, Python)

https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 이 문제는 3개의 벽을 세우고 바이러스가 확산된 후 남아 있는 안전 영역을 계산하는 문제입니다. 저는 이 문제를 풀 때 새로운 벽의 위치를 선정하는 방법에 대한 많은 고민을 했습니다. 결론적으로 기발한 방법은 생각하지 못했고 Combination을 이용했습니다. 해당 문제에 대한 저의 접근법은 아래와 같습니다. 접근법 1. 연구소의 빈 곳 중 조합을 이용해서 벽이 세워질 후보 장소 3곳을 선정하고 벽을 세웁니..

PS/Python 2021.05.19

[Webpack] Webpack 이란 무엇인가?

Webpack이란 무엇인가? At its core, webpack is a static module bundler for modern JavaScript applications. When webpack processes your application, it internally builds a dependency graph which maps every module your project needs and generates one or more bundles. 위는 webpack 공식 문서에 나온 webpack에 대한 설명이다. webpack은 module bundler(모듈 번들러)이며 webpack은 프로젝트에 사용된 module의 의존성 그래프를 바탕으로 하나 이상의 bundle을 생성한다. '실전 ..

Programming/JS 2021.05.16

[Babel] Babel 이란 무엇인가?

Babel이란 무엇인가? Babel은 자바 스크립트 컴파일러다! 즉, Javascript 파일을 입력으로 받고 출력으로 Javascript 파일을 반환한다. Babel은 왜 필요한가? Javascript만 생각했을 때 브라우저 종류와 그것의 버전 별로 지원하는 javascript 최대 버전이 있다. 즉, 어떤 환경(브라우저 종류와 버전)에서 최신 javascript 문법을 지원하지 않는 경우가 발생한다. *IE(Internet Explore)는 자동 업데이트가 안돼서 주로 위와 같은 문제는 IE에서 발생한다고 한다. 때문에 작성된 javascript 파일을 브라우저가 이해할 수 있는 javascript 버전에 맞게 변환시킬 필요가 있고 babel을 통해 javascript 변환을 할 수 있다. 대표적으로..

Programming/JS 2021.05.14