728x90 [JAVA/프로그래머스] 수식 최대화 이 문제는 숫자와 세 가지 기본 연산자만을 포함하는 문자열 형태의 수식을 받습니다. 주어진 수식에서 연산자의 우선순위를 자유롭게 재정의하여 수행 결과로 가능한 가장 큰 숫자를 찾아야 합니다. 연산 결과가 음수인 경우, 그 절댓값을 최종 값으로 제출합니다. 1.연산자 우선순위 조합생성 : 가능한 모든 연산자 우선 순위 조합은 세가지 연산자가 있으므로 3!=6 가지 조합이 가능합니다. 2.수식계산 : 각 우선순위 조합에 따라 수식을 계산합니다. 연산자에 따라 수식을 분할하고, 지정된 우선순위에 따라 숫자를 계산합니다 구현 방법 1.수식 파싱 : 주어진 수식을 숫자와 연산자로 분리합니다. 2.우선순위 설정 및 계산 : 세 가지 연산자에 대한 모든 우선순위 조합을 설정하고, 각 조합에 따라 수식을 계산합니다. .. 2024. 3. 13. [JAVA/프로그래머스] 리코쳇 로봇 문제 설명 리코쳇 로봇이라는 보드게임이 있습니다. 시작에서 목표 위치까지 최소 몇 번만에 도달할 수 있는지 말하는 게임입니다. 이 게임에서 말의 움직임은 상, 하 , 좌 , 우 4방향 으로 이동할 수 있으며 미끄러져 이동하는 것을 한번의 이동으로 칩니다. 위 그림 처럼 R에서 시작해 "D" 혹은 벽에 부딪힐 떄 까지 가는겁니다. "." 빈 공간을 의미합니다. 만약 위치에 도달할수 없다면 -1을 return 합니다. import java.util.*; class Solution { static class State{ int x, y, moves; State(int x , int y, int moves){ this.x = x; this.y = y; this.moves = moves; } } public in.. 2024. 3. 6. 이전 1 다음 728x90