반응형
운영 환경에서 발생하는 예외를 부적절하게 처리하면 문제의 원인을 찾기 힘들어집니다. 모든 예외는 적절하게 복구되거나 작업을 중단하고 관리자나 개발자에게 통보되어야 합니다. 예를 들어, 네트워크가 끊기거나 서버가 종료된 상황에서 예외를 단순히 콘솔에 출력하는 것으로는 문제가 해결되지 않습니다. 콘솔 출력은 실제 문제 해결에 도움이 되지 않으므로, 차라리 서버를 종료시키는 것이 더 나은 선택일 수 있습니다.무의미하고 무책임한 throws는 피하자개발자가 복구할 수 있는 예외 상황에도 불구하고, 무책임하게 throws를 사용하여 예외를 상위로 던지는 것은 적절하지 않습니다. 이러한 예외 처리 방식은 실제로 예외를 다룰 수 있는 기회를 빼앗기 때문에, 예외 처리 전략을 신중하게 선택해야 합니다.예외 처리의 기본..
문제링크 🚩 https://school.programmers.co.kr/learn/courses/30/lessons/81303 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 📕 문제 접근 📕 시간 초과 코드 개선하는 과정이 들어있습니다. 초반 접근 - 모든 유저는 softdelete가 된다고 생각하였고 이를 배열로만 구현을 하겠다는 생각을 하게 되었음. - 삭제된 것을 복귀하기 위한 Stack을 사용하였으며 모든 것들은 배열의 이동을 통해 구현하였음.결과 : 시간 초과 원인 : 최대 1,000,000 * 200,000의 연산이 발생할 수 있으며 인덱..
문제링크 🚩https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 📕 문제 접근 📕 전형적인 bfs 문제이나 다음과 같은 부분을 중점으로 코드를 구성함.기존 bfs처럼 방문했다면 방문을 하지 않는 것이 아닌 다른 경로를 통해 해당 위치에 도착하는 경우가 비용이 더 저렴할 수 있다는 점을 고려하여 아래와 같은 로직을 구성함. 4방향에 대해 3차원 배열을 구성하고 비용이 적을 때만 해당 위치의 값을 갱신할 수 있도록 구성함. i..
문제링크 🚩https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 📕 문제 접근 📕 다음과 같은 조건을 만족해야 한다. 대기실은 5개이며, 각 대기실은 5x5 크기거리두기를 위하여 응시자들 끼리는 맨해튼 거리1가 2 이하로 앉지 말아야 한다.단, 응시자가 앉아있는 자리 사이가 파티션으로 막혀 있을 경우에는 허용함 맨해튼 거리 1인 경우와 2인 경우를 분리하여 코드를 구성한다면 보다 쉽게 문제를 해결 할 수 있다. 💻 Code 💻class..
문제링크 🚩https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 📕 문제 접근 📕해당 문제를 해결하기 위해서는 다음과 같은 조건을 만족해야 한다. 1. 디딤돌의 숫자를 한 번 밟을 때 마다 1씩 줄어든다. 2. 0이 되면 해당 돌을 밟을 수 없다. 3. 무조건 가장 가까운 돌로만 건널 수 있다. 4. 최대로 건너뛸 수 있는 돌은 K개 이다. "핵심 아이디어"돌의 숫자 - 뛸 수 있는 인원이 건너뛴 돌의 수가 K수와 같아진다면 건널 수 없다. ..
문제링크 🚩https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📕 문제 접근 📕해당 문제 해결을 위해 다음과 같은 조건을 만족해야 한다.1. 모든 보석을 구매해야한다. 2. 모든 보석을 구매하며 가장 짧은 구간을 찾아야 한다. 1번 조건을 해결하기 위해 보석의 총 개수를 Set를 통하여 구하며 Map을 사용하여 보석을 Key로 지정하여 gemsSize와 동일한지 비교한다.int gemsSize = allGems.size();Map gemsMap..