문제https://www.acmicpc.net/problem/5397 🎲 문제 해석문제를 해석하는 것은 물론 굉장히 쉽다. 우리가 자판을 통해 글씨를 쓸 때 맨 앞에 작성하고 중간에 작성하고 하는것을 생각하면 편하다다만 특수 문자를 생각해줘야 한다. 우리는 그냥 화살표와 ← 가 그려진 버튼을 누르지만 우리는 그것을 구현하기 위해 받았다는 문자를 '', '-' 를 통해 받는것이다. 이러한 과정을 거쳤을때 무슨 문자가 남을것이냐가 중요하다🎲 문제 풀이사실 문제 풀이가 중요하다.가장 중요한 것은 커서 포인트의 위치를 어떻게 표현할 것이냐 이다우선 단순하게 생각해보자문자를 넣고 빼고 하는 것을 보았을때 대부분 stack을 많이 생각한다. 그리고 커서가 움직이고 사이에 값을 넣고 빼고 해당 포인트의 뒤에 값을..
문제https://www.acmicpc.net/problem/10804 문제 풀이 문제의 풀이 자체는 굉장히 간단하다. 1 ~ 20까지의 숫자가 주어진 배열이 있고 그 배열에서 원하는 인덱스 범위를 역방향으로 만드는데 그 행위를 총 10번 하는 것이다. 그리고 그 결과를 나타나게 한다. 처음에 문제를 풀때 그냥 이분법 처럼 lt와 rt를 나눠서 서로 방향을 바꿔서 문제를 풀었다.하지만 갑자기 번뜩 생각난 것이 "배열의 중간에 있는 값들의 삽입과 삭제가 빈번하게 일어나는 문제" 인것이다 그래서 평소에 사용하고 싶었던 LinkedList를 사용해서 문제를 풀어보았다. 사용하기 전에 두 배열을 구성하는 방법에서 차이를 알아보자 ArrayLinkedList메모리 할당연속적인 메모리 블록에 할당비연속적인 메모리..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 & 풀이 해당 문제는 경화가 최대한 균일한 크기로 귤 박스를 채우려고 하는 것에 있다. 박스에 담기는 귤의 갯수는 k로써 나타나게 되고 배열에는 여러개의 귤의 크기를 담아두었다 그러면 결국 풀이는 간단해진다. 최대한 비슷한 크기로 박스를 채워라 그리고 그 박스 안에 귤의 종류는 몇 개인가? 갯수가 많은 것으로 분류를 해두어야한다. 그렇다면 map에 key, value를 통해 저장..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 & 풀이 문제를 이해하는 것은 아마 굉장히 편할 것이다 라고 생각한다. 하지만 풀이가 매우 중요한데 여기서 가장 눈여겨 보아야 할 것은 피보나치 수열을 사용할 수 있다는 것이다. 처음에 문제를 만나면 각각의 칸수를 계산하고 계산한 칸수를 저장하고 이런식으로 생각하기 마련이다. 하지만 우리에게 중요한 것은 경우의 수가 무엇이냐가 아닌 경우의 수의 갯수이다 이를 알고 천천히 문제를 다..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 && 풀이 해당 문제는 이해력이 필요한 문제라기 보다 최소공배수를 다룰 줄 아는지가 중요한 문제이다. 프로그래머스에서는 최대 공약수와 최소 공배수를 다루는 문제가 한번 있었다. https://school.programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 && 풀이 이번 문제의 가장 중요한 점은 이진법을 연속해서 사용하고 결과로 나온 이진법을 또 다시 사용한다는 것이다 즉, 재귀적인 방식으로 풀어야한다는 것이다. 그래서 처음에는 메소드를 하나 만들어서 사용하려고 했지만 어떻게 해당 메소드를 계속해서 사용할 수 있을지 고민이 많이 되었다. 때문에 다른 방식을 찾아야했다 하지만 이 방식은 문제가 생겼다. 프로그래머스의 테스트 9 ~ 1..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 && 풀이 이건 문제를 이해하는것부터 쪼금 시간이 걸렸다. 경우의 수를 막...어우 최대로 가져갈수 있는 폰켓몬이 몇마리이고 경우의 수가 어떻게 되고 뭐라고 막 써있지만 우리가 풀어내야할 문제를 보면 정작 중요한 포인트는 따로 있다. 사실 경우의 수가 딱히 필요가 없다 그냥 박사님이 가지고 있는 포켓몬이 종류가 아무리 많아 봤자 (마릿수 / 2) 만큼 가져갈 수 있다는 것이다. 하지..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 && 풀이 문제를 이해하는것은 쉽다. 테이블이 있다고 생각하고 칼로리가 낮은 음식(index가 낮은 순서)대로 왼쪽과 오른쪽에 갯수가 똑같이 놓는것이다. 이때 주의할 것은 음식의 갯수가 홀수개라면 하나는 버리고 음식이 대칭이 되게 나둬야하는것이다. 나의 문제 풀이 나는 배열에 각 숫자를 넣고 왼쪽 사람의 테이블에 놓고 그것을 오른쪽부터 다시 정렬한다는 생각으로 만들었지만 좋지 않..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 && 풀이 문제의 이해자체는 굉장히 쉽다. 각 배열에 담긴 숫자들을 이진수를 만들어준다음 1이 있다면 "#" 이 있다고 생각하고 0이라면 길이다. 라고 보면 되는것이다. 문제에서는 한 문제당 2개의 배열을 정해주고 각 배열에 의해 만들어진 맵을 겹치는 것이다. 그리고 겹쳐져 만들어진 맵을 한개의 배열로 나타내는것이 문제였다. 1번 풀이 각각의 숫자를 모두 이진법으로 만들고 두개의 ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 & 풀이 문제의 설명은 매우 길지만 설명은 간단하다. "부서별 정해진 예산(배열 각각의 값)으로 어떻게하면 가장 많은 부서를 도와줄수 있을까" 이다. 해결 자체는 매우 쉽다. 예산을 적게 측정한 부서를 먼저 도와주는것이 가장 많이 도와 줄수 있다 그럼 우리는 정렬을 통해 각 예산을 오름차순으로 정렬하고 맨 앞에서부터 도와주면 되는것이다. Arrays.sort 를 통해 배열 d 를 ..