백준 16724 피리 부는 사나이 python
문제로이동 16724번: 피리 부는 사나이 첫 번째 줄에 지도의 행의 수를 나타내는 N(1 ≤ N ≤ 1,000)과 지도의 열의 수를 나타내는 M(1 ≤ M ≤ 1,000)이 주어진다. 두 번째 줄부터 N개의 줄에 지도의 정보를 나타내는 길이가 M인 문자열이 주 www.acmicpc.net 목차 문제 설명 틀렸습니다*3 Union-Find를 하며 주의해야 할 점이 parent에 직접 접근을 하게 되면 미처 업데이트 되지 않았던 값들이 있기에 반드시 getParent로 접근을 해야하는데 이를 놓쳐버렸습니다😅 접근 방법 문제 방향을 잡는데 5분 가량 걸렸습니다. 처음엔 필드에 적힌대로 이리 저리 따라가다가, Union-Find라는 것을 알게 되었습니다! 이 문제를 푸는데 있어서 가장 중요한 것은 구역 입니다..
byOnlineJudge··
[프로그래머스] 풍선 터뜨리기 python, java
문제로이동 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr 목차 문제 풀이 접근 방법 어떤 알고리즘인지 전혀 맥락을 못잡다가 문제 푼 지 35분이 경과되어서 알게 되었습니다. 2개의 임의의 풍선 중 크기가 큰 풍선을 터뜨려야 한다. 단, 크기가 작은 풍선은 딱 1번만 터뜨릴 수 있다. 풍선을 터뜨렸다면 풍선의 빈 공간을 다시 채운다(양 옆의 풍선을 당겨준다) 최후에 1개의 풍선이 남았을 때, 절대 남을 수 없는 풍선의 갯수를 구하자 DFS인가? 생각했다가 N의 크기를 보고 절대 아니라고 판단했고, O(N)에 끝내야 한다는 것으로 생각을 굳혔습니다. 다른 측면에서 생각해볼까요? 어떤 임의의 풍선을 선택하고 왼쪽 또는 ..
byOnlineJudge··
백준 16954 움직이는 미로 탈출 python
문제로이동 16954번: 움직이는 미로 탈출 욱제는 학교 숙제로 크기가 8×8인 체스판에서 탈출하는 게임을 만들었다. 체스판의 모든 칸은 빈 칸 또는 벽 중 하나이다. 욱제의 캐릭터는 가장 왼쪽 아랫 칸에 있고, 이 캐릭터는 가장 오른쪽 www.acmicpc.net 목차 시작하기 전에 2개월 전에 스터디에서 공통 문제로 풀었다가 실패했던 문제였습니다. 이번엔 노트에 로직을 정리하고 1WA를 맞은 뒤 이거다! 싶어서 수정했는데 정답이었고 2회에 걸쳐 로직을 수정/추가했습니다. 접근 방법 벽이 움직인다는 점에서 캐슬디펜스 문제와 비슷하다고 생각했습니다. 비슷한 방식으로 접근했다가 큰 코 다쳤는데 그 이유는 캐슬 디펜스에선 주인공 위치가 고정되어 있지만, 이번 문제는 사방탐색(상하좌우) 뿐만 아니라 대각선 이..
byOnlineJudge··
SWEA 1953 탈주범 검거 java 풀이
문제로이동 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 설명 얼핏 보면 간단한 BFS/DFS 문제로 보입니다. 하지만 주의해야 할 점이 있습니다. 자, 위와 같은 경우를 볼까요? 모든 방향(상하좌우)으로 나아갈 수 있는 1번 터널이지만 반대로 내가 가려고 하는 목적지에 도달이 불가능한 경우입니다. 위와 같이 좌,우로만 접근해야하는 터널이 있는 경우에 말이죠. 그래서 저는 다음과 같이 메소드를 구현했습니다. 첫째, 현재 터널 모양에서 나아갈 수 있는 방향을 반환(좌,우만 갈 수 있는 터널이라면 좌,우를 반환)하는 int[] getDirection 메소드 둘째, 다음 터널이 내가 지금 나아가려 하는 방향으..
byOnlineJudge··
[2021 KAKAO BLIND] 신규 아이디 추천 Python re
문제로이동 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 문제 설명 re 라이브러리를 사용했습니다. 좌/우측 특정 문자 제거 좌/우측 특정 문자 또는 공백 제거엔 strip(), lstrip(), rstrip()을 사용합니다. 이번 문제에서는 .을 제거하는 것이므로 strip('.')과 같이 사용할 수 있었습니다. 치환 및 제거 정규표현식에 해당하는 문자들을 치환, 제거하기위해 re.sub 함수를 사용했습니다. 위 두 기능을 제외하고는 하드코딩으로 가능하기에 생략하겠습니다. 이번 문제를 풀면서 re ..
byOnlineJudge··
SWEA 5644 무선충전 Java, Python
문제로이동 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 목차 문제 설명 시뮬레이션/구현 문제입니다. 이미 필드의 크기가 10*10으로 고정되어 있고 주인공의 위치도 고정되어 있어 수월하게 접근 가능했습니다. BC의 위치와 세기, 허용 거리가 다르기 때문에 이를 중점적으로 어떻게 계산할 것인지 판단해야 합니다. 저는 두 주인공을 동시에 움직이면서 매 이동마다(t=0부터) 모든 BC와 거리를 계산했고 주인공 A, 주인공 B가 사용할 수 있는 BC를 리스트에 담았습니다. 정리하자면, 로직은 아래와 같습니다. 입력조건 BC를 입력 받을 때 POWER를 내림차순으로 정렬해 줍니다.(이후에 따로 정렬할 필요가 없어집니..
byOnlineJudge··
불러오는 중...