분류 전체보기 381

[백준 - 1043] 거짓말 - Java

문제 설명 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 풀이 회고 문제 이해하기 해당 문제는 '문제를 이해'하는데 많은 시간이 소요되었습니다. 😥 우선 문제에서 요구하는 것은 지민이가 과장된 이야기를 할 수 있는 파티의 수 즉, 진실을 아는 사람이 포함되어 있지 않는 파티의 수를 구하는 것입니다. 이때 중요한 점(놓치기 쉬운 점)은 최초 진실을 아는 사람이 포함되어 있는 파티에 다른 사람(최초 진실 구별 X)이 최초 진실을 아는 사람이 없는 다른 파티에 있더라도 지민이는 앞서 최초 진실을 아는 사람이 존재하기 때문에..

Algorithm/BOJ 2022.03.30

2022 마스터즈 코스(백엔드) 57일차 회고(2022. 3. 29.) - "CS 공부의 필요성"

해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :) 수강 회고 오늘 오전에는 소모임원들과 스크럼을 진행 하면서 아주 유쾌한 시간을 보낼 수 있었다. 이제 매주 뵙는 소모임원분들의 경우 대부분 이전에 함께 했었던 소모임원분들이기에 보다 편하게 대화할 수 있었던 덕인 것 같다. 프로그래밍을 하면서 느끼는 사소한 감정들을 나눌 수 있는, 즉 프로그래밍과 관련한 잡담을 나눌 수 있는 상대가 존재한다는 것은 매우 값진 것 같다. 이러한 시간은 앞으로 프로그래밍을 함에 있어서 '재충전(refresh)' 할 수 있는 좋은 시간인 것 같다. 작년에 프로그래밍을 독학으로 학습할 때는 이러한 대화를 나누는 것이 불가능했었기에 더욱 값지게 느껴진..

[프로그래머스] 카카오프렌즈 컬러링북 - Java

문제 설명 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 풀이 회고 해당 문제는 DFS를 통해 해결할 수 있었습니다. 우선 해당 문제에서 요구하는 것은 '그림의 영역 개수'와 '가장 큰 영역의 칸수'입니다. 이를 구하기 위해 문제에 접근한 방식으로는 다음과 같습니다. 1. 주어진 2차원 배열을 차례대로 순회한다. 2. 방문되지 않은 색칠된 영역이라면(배열 요소 값이 0이 아닌 경우) 해당 색의 영역을 DFS 탐색한다.(영역 칸수 카운팅) 3. '2번'에서 모든 탐색을 마친 후 다음 요소 값을 기준으로 다시 D..

2022 마스터즈 코스(백엔드) 56일차 회고(2022. 3. 28.) - "웹 백엔드 과정 마지막 주차"

해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :) 수강 회고 어느덧 오늘로 웹 백엔드 과정의 7주차 즉, 마지막 주차의 과정이 시작되었다. 매주 월요일마다 주말에 수면 패턴이 뒤바뀌어 피로함에 시달렸었는데 지난 주말에는 프로그래밍 학습은 잠시 미루어 두고 오직 쉬는데에만 집중하여 한결 나은 컨디션으로 과정에 임할 수 있었다. 지난 CS10 과정에서는 설연휴가 존재하여 중간에 재충전을 할 수 있는 시간이 있었지만 이번 웹 백엔드 과정의 경우에는 7주간 매주 새로운 미션과 코드 리뷰로 인해 현재 다소 지쳐있는 상태이다. 하지만 웹 백엔드 과정의 마지막 주차인 만큼 남은 기간(이번 한 주간) 최선을 다해 임하고자 한다. 아울러 페..

[백준 - 18111] 마인크래프트 - Java

문제 설명 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 풀이 회고 제가 해당 문제를 풀기 위한 접근 방법은 다음과 같았습니다. 주어진 2차원 배열 상의 요소별 값(집터 좌표별 블록의 높이) 중 최솟값(최소 블록 높이)와 최댓값(최대 블록 높이)를 구한다. 최소 블록 높이부터 최대 블록 높이까지 각각의 값으로 블록의 높이를 모두 일정하게 바꾸고(땅 고르기) 이 경우의 소요 시간과 블록 높이를 구한다. 각각의 값으로 순차적으로 땅 고르기 작업을 할 때마다 낮은 시간을 우선적으로 산출하고 시간이 동일할 경우 더..

Algorithm/BOJ 2022.03.26