🔗 크레인 인형뽑기 게임문제풀이가까운 인형을 없애는 문제이므로 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("..
🔗 [3차] 압축 import java.util.*;class Solution { public int[] solution(String msg) { //색인 출력을 저장하는 리스트 Listlist=new ArrayList(); // [단어, 색인 번호] Map map=new HashMap(); for(int i=0;i
🔗 [3차] 방금그곡 ⚠️ m이 "ABC" , 악보가 "ABC#" 일때 단순히 contains를 사용하면 같은 음으로 간주하게 되지만 다른 음임을 주의➡️ 따라서 A#,B#,C#,D#,E#,F#,G#을 다른 문자로 바꾸는 과정 필요import java.util.*;class Solution { public String solution(String m, String[] musicinfos) { // m : 네오가 기억한 멜로디 // musicinfos : [음악이 시작한 시각, 끝난 시각, 음악 제목, 악보 정보] // 음악이 여러 개라면 재생 시간이 긴 음악 // 재생 시간도 같을 경우 먼저 입력된 음악 m=convertSharp(m..