목록코딩테스트 (62)
Star_project
#문제8 배달음식 전문점 운영을 위해 다음과 같이 DeliveryStore 인터페이스와 PizzaStore, Food 클래스를 작성했습니다. DeliveryStore : DeliveryStore는 배달 음식점의 인터페이스입니다. 배달 음식점은 setOrderList와 getTotalPrice 메소드를 구현해야 합니다. setOrderList 메소드는 주문 메뉴의 리스트를 매개변수로 받아 저장합니다. getTotalPrice 메소드는 주문받은 음식 가격의 총합을 return 합니다. Food : Food는 음식을 나타내는 클래스입니다. 음식은 이름(name)과 가격(price)으로 구성되어있습니다. PizzaStore PizzaStore는 피자 배달 전문점을 나타내는 클래스이며 DeliveryStore 인..
#문제7 지난 연속된 n일 동안의 주식 가격이 순서대로 들어있는 배열이 있습니다. 이때, 다음 규칙에 따라 주식을 사고 팔았을 때의 최대 수익을 구하려 합니다. * n일 동안 주식을 단 한 번 살 수 있습니다. * n일 동안 주식을 단 한 번 팔 수 있습니다. * 주식을 산 날에 바로 팔 수는 없으며, 최소 하루가 지나야 팔 수 있습니다. * 적어도 한 번은 주식을 사야하며, 한 번은 팔아야 합니다. 주식을 팔 때는 반드시 이전에 주식을 샀어야 하며, 최대 수익은 양수가 아닐 수도 있습니다. 연속된 n 일 동안의 주식 가격이 순서대로 들어있는 배열 prices가 매개변수로 주어질 때, 주식을 규칙에 맞게 한 번만 사고팔았을 때 얻을 수 있는 최대 수익을 return 하도록 solution 메소드를 작성했..
#문제6 두 학생 A와 B는 계단 게임을 하였습니다. 계단 게임의 규칙은 아래와 같습니다. ~~~ 1. 계단 제일 아래에서 게임을 시작합니다. (0번째 칸) 2. 가위바위보를 합니다. 3. 이기면 계단 세 칸을 올라가고, 지면 한 칸을 내려가고, 비기면 제자리에 있습니다. 4. 계단 제일 아래에서 지면 제자리에 있습니다. 5. 2~4 과정을 열 번 반복합니다. ~~~ A와 B가 계단 게임을 완료한 후에, A가 계단 위 몇 번째 칸에 있는지 파악하려고 합니다. A와 B가 낸 가위바위보 기록이 순서대로 들어있는 배열 recordA와 recordB가 매개변수로 주어질 때, 게임을 마친 후의 A의 위치를 return 하도록 solution 메소드를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇..
#문제5 1번부터 N번까지 후보에 대해서 투표를 진행했습니다. 예를 들어 투표 결과가 [1, 5, 4, 3, 2, 5, 2, 5, 5, 4]라면 순서대로 [1번, 5번, 4번, 3번, 2번, 5번, 2번, 5번, 5번, 4번] 후보에 투표했음을 나타냅니다. 이때, 가장 많은 표를 받은 후보의 번호를 구하려고 합니다. 주어진 solution 메소드는 후보의 수 N과 투표를 진행한 결과가 담긴 배열 votes가 매개변수로 주어졌을 때, 가장 많은 표를 받은 후보의 번호를 return 하는 메소드입니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _**한 줄**_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요. --- #####매..
#문제4 오름차순으로 정렬되어있는 두 배열 arrA, arrB를 하나의 배열로 합치려 합니다. 단, 합친 후의 배열도 오름차순으로 정렬되어 있어야 합니다. 예를 들어 arrA = [-2, 3, 5, 9], arrB = [0, 1, 5]인 경우 두 배열을 오름차순으로 정렬된 하나의 배열로 합치면 [-2, 0, 1, 3, 5, 5, 9]가 됩니다. 오름차순으로 정렬된 두 배열 arrA와 arrB가 주어졌을 때, 두 배열을 오름차순으로 정렬된 하나의 배열로 합쳐서 return 하도록 solution 메소드를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요. --- ##### 매개변수 설명 오름차순으로 정렬된 두 배열 arrA와 arrB가 solution 메소드의 매개변수로 주어집니다. * arrA의 길..
#문제3 체스에서 나이트(knight)는 아래 그림과 같이 동그라미로 표시된 8개의 방향중 한 곳으로 한 번에 이동이 가능합니다. 단, 나이트는 체스판 밖으로는 이동할 수 없습니다. 체스판의 각 칸의 위치는 다음과 같이 표기합니다. 예를 들어, A번줄과 1번줄이 겹치는 부분은 'A1'이라고 합니다. 나이트의 위치 pos가 매개변수로 주어질 때, 나이트를 한 번 움직여서 이동할 수 있는 칸은 몇개인지 return 하도록 solution 메소드를 완성해주세요. #####매개변수 설명 나이트의 위치 pos가 solution 메소드의 매개변수로 주어집니다. pos는 A부터 H까지의 대문자 알파벳 하나와 1 이상 8이하의 정수 하나로 이루어진 두 글자 문자열입니다. 잘못된 위치가 주어지는 경우는 없습니다. ###..
#문제2 다음과 같이 n x n 크기의 격자에 1부터 n x n까지의 수가 하나씩 있습니다. 이때 수가 다음과 같은 순서로 배치되어있다면 이것을 n-소용돌이 수라고 부릅니다. 소용돌이 수에서 1행 1열부터 n 행 n 열까지 대각선상에 존재하는 수들의 합을 구해야 합니다. 위의 예에서 대각선상에 존재하는 수의 합은 15입니다. 격자의 크기 n이 주어질 때 n-소용돌이 수의 대각선상에 존재하는 수들의 합을 return 하도록 solution 메소드를 완성해주세요. 매개변수 설명 격자의 크기 n이 solution 메소드의 매개변수로 주어집니다. n은 1 이상 100 이하의 자연수입니다. return 값 설명 n-소용돌이 수의 대각선상에 존재하는 수들의 합을 return 해주세요. 예시 n return 3 15..
#문제1 어느 누군가가 타임머신을 타고 과거로 가서 숫자 0이 없는 수 체계를 전파했습니다. 역사가 바뀌어 이제 사람들의 의식 속엔 0이란 숫자가 사라졌습니다. 따라서, 현재의 수 체계는 1, 2, 3, ..., 8, 9, 11, 12, ...와 같이 0이 없게 바뀌었습니다. 0을 포함하지 않은 자연수 num이 매개변수로 주어질 때, 이 수에 1을 더한 수를 return 하도록 solution 메소드를 완성해주세요. --- #####매개변수 설명 자연수 num이 solution 메소드의 매개변수로 주어집니다. * num은 1 이상 999,999,999,999,999,999 이하의 0을 포함하지 않는 자연수입니다. --- #####return 값 설명 자연수 num에 1을 더한 수를 return 해주세요...
#문제10 A 백화점에서는 고객의 구매금액에 따라 다음과 같이 상품권을 지급합니다. | 구매 금액 | 상품권 | |-------------------|--------------| | 100만 원 이상 구매 | 5만 원 상품권 | | 60만 원 이상 구매 | 3만 원 상품권 | | 40만 원 이상 구매 | 2만 원 상품권 | | 20만 원 이상 구매 | 1만 원 상품권 | 이때, 상품권은 지급 가능한 가장 큰 금액으로 한 장만 지급합니다. 예를 들어 고객이 65만 원을 구매했다면, 3만 원 상품권 한 장만 지급합니다. 고객들의 구매 금액이 들어있는 배열 purchase가 주어질 때, 고객들에게 지급해야 하는 상품권 총액을 return 하도록 solution 메소드를 작성했습니다. 그러나, 코드 일부분이 잘..
#문제9 N명의 후보에 대해 투표한 결과가 들어있는 배열이 있습니다. 예를 들어 5명의 후보에 대해 투표를 진행한 결과가 [2, 5, 3, 4, 1, 5, 1, 5, 5, 3]이라면 순서대로 [2번, 5번, 3번, 4번, 1번, 5번, 1번, 5번, 5번, 3번] 후보에 투표했음을 나타냅니다. 이때, 정확히 K 표를 받은 후보는 총 몇 명인지 구하려 합니다. 예를 들어 K = 2일 때, 위 투표 결과에서 정확히 2표를 받은 후보는 1번, 3번 후보로, 총 2명입니다. 투표 결과가 들어있는 배열 votes, 후보의 수 N, 표의 개수 K가 매개변수로 주어질 때, K 표를 받은 후보는 몇 명인지 return 하도록 solution 메소드를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력..