[프로그래머스] 풍선 터뜨리기 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··
4개월, 내게 있었던 일들 회고록
쉴 새 없이 달려왔던 4개월간 제게 있었던 일들을 얘기하려 합니다. 모든 내용은 지극히 주관적으로 작성되었습니다. 블로그 변화 드디어 블로그가 상단에!! 아실 분들은 아시겠지만 동명이인 모델분이 계십니다.. 그래서 예전엔 아무리 검색해도 상단에 노출되지 않았었는데 어느 날 보니 제 블로그가 상단에 노출되기 시작하더라구요. 참 별 일 아니지만 스스로는 뿌듯했습니다😀 검색 방문자 증가 오카방URL을 타고 와주시는 감사한 분들도 계십니다. 구글 검색창을 통해 노출된 목록중 제 블로그를 클릭하셔서 정보를 얻어간다는 것이 참으로 뿌듯했습니다. SSAFY 6기 모집 시즌이라 유독 많이 들어와주시는데, 더 양질의 정보를 제공할 수 있도록 노력하겠습니다😊 늘 부족한 알고리즘 내가 투자하는 주식도 이랬으면,,, SSAF..
by후기/회고··
4
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··
불러오는 중...