프로그래머스 큰 수 만들기(https://school.programmers.co.kr/learn/courses/30/lessons/42883문제의 제한 조건에서 1,000,000 개의 길이의 문자열까지 입력이 가능하므로 완전 탐색으로는 문제를 해결할 수 없다\
두 큐 합 같게 만들기두 개의 큐를 선언하고 하나의 큐를 골라 원소를 다른 큐에 집어넣는 작업을 진행한다. 이 작업을 한 번 하면 횟수가 하나 올라가며 작업의 최소 횟수를 구해야 한다.만약 queue1에 요소들의 합이 queue2보다 크다면 queue1에서 pop한 요
멀리뛰기다이나믹 프로그래밍 문제다. 한 번에 1칸, 혹은 2칸 이동이 가능하다.dpi 가 i번째에서 칸 이동까지 최대 개수의 방법을 나타낸다면 dpi-1에서 1칸 이동하는 경우와 dpi-2에서 2칸 이동하는 경우의 합과 같다.따라서 점화식은 dpi = dpi-1 + d
오픈채팅방 문제풀이 이 문제는 해시맵을 사용하는 문제다. 총 3가지 경우를 생각하면 된다. 채팅방에 들어오는 경우, 나가는 경우, 닉네임을 변경하는 경우 채팅방에 들어오는 경우에 해당 uid와 닉네임을 해시맵에 저장, 그리고 닉네임을 변경하는 경우 uid와 해시맵에
행렬 테두리 회전하기문제풀이이 문제는 회전 테두리에만 해당하는 숫자들이 한 칸씩 이동하는 배열을 만들어 최소값을 찾는 문제다 .한 칸씩 이동된 이차원 배열을 만드려면 각 꼭지점의 좌표를 선언해서 그 좌표에 해당하는 테두리만 이동한다는 개념으로 접근해야 한다.먼저, 상단
게임 맵 최단거리해당 문제는 좌표를 지나면서 최단 거리를 찾는 문제입니다.최단 거리를 찾기 위해서는 DFS 방식보다는 BFS 방식을 사용하는 것이 시간초과 오류를 방지할 수 있는 방법입니다.저는 Point 클래스를 만들어줘서 해당 좌표 x,y값과 해당 좌표에서의 지나온
괄호 회전 하기 링크이 문제의 핵심은 괄호를 회전하고 + 괄호 문자열이 올바른지 확인하는 것입니다.괄호를 회전하는데 제가 사용할 자료구조는 QueueQueue에 해당 문자열을 넣고 queue.poll(), queue.add() 하는 방식으로 괄호를 한 칸씩 당길겁니다.