Lv 4. 무지의 먹방 라이브
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/42891 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 무지의 먹방 라이브 문제 - 프로그래머스 🍜⏱ 🔎 문제 개요 프로그래머스 Lv.4 - 무지의 먹방 라이브 문제는무지가 각 음식의 걸리는 시간만큼 음식을 순서대로 먹고,k초 후에 몇 번째 음식을 먹고 있어야 하는지를 구하는 문제입니다. 단, **음식 순서는 원형(끝나면 처음으로)**이고,시간이 부족하면 -1을 반환해야 합니다. 💡 예제 입력food_times = [3, 1, 2]k = 5 💡 예제 출력1➡ ..
Lv 3. 기둥과 보
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 기둥과 보 설치 문제 풀이 🚀🔎 문제 개요이 문제는 프로그래머스 - 기둥과 보 설치 문제입니다.주어진 명령에 따라 기둥과 보를 설치하거나 삭제해야 합니다.설치 조건을 만족하는 경우만 설치할 수 있으며, 삭제 후에도 구조물이 유지되는 경우만 삭제 가능합니다.💡 예제 입력int n = 5;int[][] build_frame = { {1, 0, 0, 1}, {1, 1, 1, 1}, {2, 1, 0..
Lv 2. 충돌위험 찾기
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/340211 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   로봇들이 2D 평면 위에서 이동하며 특정 경로를 따라가는 시뮬레이션 프로그램을 작성했다. 로봇들이 각기 다른 경로를 이동하며 같은 시간에 같은 위치에 도달할 경우 충돌이 발생한다고 정의하고, 이 충돌의 횟수를 계산하는 것이 문제의 요구사항이다.로봇들이 이동할 수 있는 좌표는 points로 주어진다.예를 들어 points = {{0, 0}, {1, 1}, {2, 2}, {3, 3}}와 같이 주어진다면{0, 0}, {1, 1}, {2, 2},..
Lv 2. 혼자서 하는 틱택토
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/160585 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   3 * 3 의 2차원배열에서 틱택토 게임을 진행하다가 만 상태 혹은 진행하던상태의 board가 주어지면 board 상태를 분석하여 이것이 정상적인 규칙에 따라 진행되었던 board의 상태인지아닌지를 확인하는 문제다. 그리하여 정상적인 규칙에 따라 진행되었던 board의 상태와 특징에 대해 분석하고여러 조건을 검토하여 규칙 위반 여부를 판단하는 형식으로 풀이 하였다.틱택토의 기본 규칙은 O와 X가 번갈아 가며 진행되며, 가로, 세로, 대각선..
b12100. 2048(Easy)
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/12100   이 2048 문제는 보드를 최대 5번 이동한 후 가장 큰 블록 값을 계산하는 문제다.기존 코드에서는 DFS를 통해 모든 이동 조합을 생성한 뒤, 완성된 조합에 대해 5번의 방향 이동을 한꺼번에 처리했다. 이 방식은 각 단계에서 이동 상태를 효율적으로 관리하지 못하고,불필요한 회전 및 복구 연산이 반복되는 문제점이 있었다.이를 해결하기 위해 saved와 board 변수를 활용하여 현재 상태를 효과적으로 관리하며,이동 조작을 단계적으로 수행하는 방식으로 개선했다.board는 입력받은 초기 보드 상태를 저장하는 변수로, 탐색 과정에서 변경되지 않는 원본 데이터를 담고 있다. 반면, saved는 현재 DFS 탐색 중의 보드 상태를 관리하는 ..
Lv 2. 과제 진행하기
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   주어진 과제들의 실행 순서를 정리하는 문제다. 각 과제는 이름, 시작 시간, 실행 시간으로 구성되며,시작 시간은 "HH:mm" 형식을 분 단위로 변환하여 처리된다.입력받은 계획들을 Assignment 객체로 변환한 후,시작 시간 기준으로 오름차순 정렬한다.정렬된 과제를 순서대로 처리하면서 중단된 과제는 스택에 저장하고,조건에 따라 남은 시간을 활용해 다시 실행한다. 현재 과제의 종료 시간이 다음 과제의 시작 시간 이후라면,현재 과제는 중단..
Lv 3. 자물쇠와 열쇠
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   이문제는 자물쇠에 해당하는 조합을 찾는 문제이다.key[][] 와 lock[][] 이 주어질때 key를 90도 단위로 돌려가며lock에 맞추었을때 빈틈없이 맞아 진다면 true 를 반환하고 false를 반환하는문제다. 단순 구현 풀이법으로 문제를 풀이하였으며 회전하는 과정에서 90도, 180도, 270도 회전시 어떻게 체크를 해줄지생각을 해낸다면 쉽게 풀이할 수 있다. int[][] checkLock 을 선언하고 key를 90도로 돌려가며 ..