본문 바로가기

Algorithm

(4)
Programmers Level1 다트게임 카카오 문제는 레벨1이 레벨1이 아닌 기분이다. 문자열 문제는 특히 자바에서 엄청나게 장황해지기 때문에 주의할 필요가 있다. 문제 설명 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수..
Programmers Level1 크레인 인형뽑기 게임 문제 설명 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데,..
Programmers Level1 두 개 뽑아서 더하기 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 입출력 예 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 주어진 배열에서 크기가 2인 조합을 찾는 문제이다. 크기가 주어진 조합은 브루트포스로 n중 for문을 통해 무식하지만 간단하게 구할 수 있다. 조합의 요소 합을 구하고, 중복을 제거한 후 정렬한 결과를 int [] 로 리턴하면 되는 문제였다. 알고리즘적인 문제는 바로 생각해냈는데, 중복을 제거하고 정렬해서 다시 int[] 을 어떻게 만들지에서 막혔던 문제였다..
본격적인 코딩 테스트 준비 시작 취준을 맞이하게 되면서 이전보다 좀 더 본격적으로 코딩 테스트를 준비하게 되었다. 실제로 어떤 기업들이 코테를 시행하는지, 각 기업이 어떤 코테 환경을 제공하는지도 알아보기 시작했다. 그러면서 내가 지원하고 싶은 대부분의 기업이 프로그래머스 라는 플랫폼에서 코딩테스트를 진행한다는 것을 알게 되었다. 이전까지는 주로 백준을 풀었다. 백준은 입력값을 받는 코드까지 사용자가 직접 입력해야 해서 살짝 복잡한 감이 있었다. 그래서 백준은 플랫폼에서 바로 풀지 않고 vscode를 사용해서 문제를 풀었다. 그렇다고 프로그래머스에서의 문제풀이 경험이 없던 것은 아니였다. 이전에 파이썬으로 알고리즘 문제를 풀 때, 몇 번 이용해본 적 있었다. 하지만 이제는 파이썬이 아닌 자바를 사용하기에, 테스트겸 한 문제를 풀어보았다..