🔗 표 편집문제풀이문제의 "이름" 은 이해를 위한 것이므로 "index" 로 접근"이동" 은 아래처럼 각 행마다 up, down 배열을 두어 상대적 위치값으로 두도록 함 1. 삭제해당열(k)의 up, down 값을 윗행, 아랫행의 값에 넣어줌k행의 up을 아랫행의 up에, k행의 down을 윗행의 down 값으로 함up[down[k]]=up[k];down[up[k]]=down[k];삭제된 행은 복구를 위해 스택에 담음 2. 복구stack을 pop해서 얻은 행(restore)을 이용해 up, down의 값을 변경down[up[restore]]=restore;up[down[restore]]=restore; 3. 맨 위, 맨 아랫행의 삭제와 복구위, 아래의 가상으로 공간을 1칸씩 늘려 인덱스가 벗어나지 않고..
🔗 크레인 인형뽑기 게임문제풀이가까운 인형을 없애는 문제이므로 stack 을 이용해 문제를 해결한다. import java.util.Deque;import java.util.ArrayDeque;class Solution { public int solution(int[][] board, int[] moves) { // board : 인형 담긴 상태 // moves : 크레인을 작동 시킨 위치 // 사라진 인형의 개수 반환 int answer=0; Deque stack=new ArrayDeque(); // 크래인 작동 횟수 반복 for(int i=0;i
🔗 괄호 회전하기문제풀이회전은 단순히 문자열을 2배로 하면 됨 (({[]}) ➡️ ({[]})({[]}))바깥 for문 : 문자열 길이를 n 이라 하면 i=0 부터 n-1 까지 반복 (회전횟수)내부 for문 : j=i 부터 i+n-1 까지 반복닫히는 괄호(),},]) 가 들어왔을 때, 스택이 비어 있거나 괄호의 쌍이 맞지 않을 때는 올바른 문자열이 아니므로 다음 회전으로 간다.내부 for문을 모두 수행했을 때 stack에 남아있는 문자가 없다면 올바른 문자열이 맞으므로 answer 횟수를 증가한다.import java.util.Stack;import java.util.ArrayDeque;import java.util.HashMap;import java.util.Map;class Solution { ..
문제 설명10진수를 입력받아 2진수로 변환해 반환하는 solution() 함수를 구현하세요.제약 조건 : 입력값(decimal)은 1이상 10억 미만의 자연수decimal반환값10101027110111234511000000111001문제 해결10진수를 2진수로 표현하기 위해서는10진수 N을 2로 나눈 나머지 한 값을 저장하고 N은 2로 나눔몫이 0이 아니라면 나머지는 stack에 저장하고 다시 1번을 수행모든 과정이 끝나면 stack에 저장한 값을 순서대로 가져와 붙이기13을 2진수로 변환한다면...import java.util.Stack;public class Java09 { public static void main(String[] args) { System.out.println("..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.