[Programmers] 지형 이동 (Level 4) (with. Java 메모리 절약 방법)
·
Coding Test/Solution
1. 문제 설명  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr아이디어는 그다지 어렵지 않은데, 객체 지향 설계 원칙 철저히 지켜가면서 풀면 무조건 메모리 초과 + 시간 초과에 발목을 잡힌다. 2. 아이디어 문제를 풀기 위해, 해결 영역을 3가지로 분리했다.사다리를 설치하지 않아도 되는 영역을 SCC로 묶기 (BFS)각 영역 i에서 영역 j로 이동하기 위한 최소 사다리 비용 계산 모든 영역을 잇기 위한 최소 사다리 설치 비용 계산 (크루스칼 알고리즘)  📌 SCC로 영역 구분SCC라는 용어가 어려울 수 있는데, 그냥 쉽게 말해서 사다리 설치 안 하고도 이동 가능한 영역을 묶어주는 작업이다. 모든 정점..
[Programmers] 기둥과 보 설치 (Level 3)
·
Coding Test/Solution
1. 문제 설명  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 최근 무지성으로 코테 문제를 줄줄이 풀고 있는데, 재밌는 구현 문제가 있어서 소개. 특정 조건에 따라 기둥과 보를 추가 혹은 삭제하면 되는데, N이 매우 작아서 재미삼아 풀어보기 좋다. 2. 아이디어 한 번에 풀지 못 했을 때를 대비해서라도 기둥과 보의 설치 조건을 검증하는 비즈니스 규칙을 분리하면 좋다. 코드로 보여주자면, 다음과 같이 메서드를 분리하고 시작하는 게 편하다.// 기둥이라면if (type == 0) { if (action == 0) { removePillar(x, y); } else { ..
[Programmers] 퍼즐 조각 채우기 (Level 3)
·
Coding Test/Solution
1. 문제 설명  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코테의 근본은 C++하지만 최근 기업 코테에서 C++을 받아주질 않는 추세다.이유가 뭔고 하니 C++로 해킹을 하는 사람들이 있다고......:(그것도 있고 기업 코테의 목적이 알고리즘 그 자체보단, 언어의 이해도를 측정하는 구현 능력에 초점을 맞추면서 겸사겸사 제한하는 것 같다. 덕분에 코테도 자바로 하는데, 손에 안 익어서 죽을 맛이다. 2. 아이디어 생각 이상으로 시간을 너무 잡아먹었다.3월 이후로 개발에 몰두한다고 코테 손 좀 놨더니 바로 폼 떨어져버림. 1️⃣ 블록 탐색일단 처음 보자마자..
[Programmers] 징검다리 (Level 4)
·
Coding Test/Solution
1. 문제 설명 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 백준 플래티넘 찍고, 아무튼 취업 준비 해야 하니 요새 코테 트렌드에 맞는 프로그래머스 줄창 풀고 있었는데 이 문제는 너무 얼탱이 없어서 정리해둔다. 15분 컷내고 다른 문제 풀려고 넘어가는데 내 발목을 1시간이나 붙잡았다. ㅡㅡ 23년 이후로 테스트 케이스가 추가된 것 같다. 다른 사람들은 어떻게 풀었는지 궁금해서 뒤져봤는데, 지금 돌려보면 전부 틀린 풀이라고 나온다. 2. 아이디어 애초에 문제 카테고리가 이분 탐색이었으니, 사용할 알고리즘을 알면 문제 해결을 위한 구현은 쉬웠다. left ..