Algorithm (402) 썸네일형 리스트형 [프로그래머스(Java)] [PCCE 기출문제] 9번 / 이웃한 칸 Level. 1 문제 각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 합니다. 보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른 칸의 위치를 나타내는 두 정수 h, w가 주어질 때 board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요. 이웃한 칸들 중 몇 개의 칸이 같은 색으로 색칠되어 있는지 확인하는 과정은 다음과 같습니다. 1. 정수를 저장할 변수 n을 만들고 board의 길이를 저장합니다. 2. 같은 색으로 색칠된 칸의 개수를 저장할 변수 count를 만들고 0을 저장합니다. 3. .. [프로그래머스(Java)] 369게임 Level. 0 문제 머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요. * 제한사항 - 1 ≤ order ≤ 1,000,000 풀이 class Solution { public int solution(int order) { int answer = 0; while(order > 0){ if(order%10!=0 && order%10%3==0) answer += 1; order /= 10; } return answer; } } 3과 6과 .. [프로그래머스(Java)] 주사위 게임 2 Level. 0 문제 1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다. 세 숫자가 모두 다르다면 a + b + c 점을 얻습니다. 세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a2 + b2 + c2 )점을 얻습니다. 세 숫자가 모두 같다면 (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )점을 얻습니다. 세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. * 제한사항 - a, b, c는 1이상 6이하의 정수입니다. 풀이. 1 import java.util.Set.. [프로그래머스(Java)] 9로 나눈 나머지 / chars(), map(), sum() Level. 0 문제 음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있습니다. 이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return 하는 solution 함수를 작성해주세요. * 제한사항 - 1 ≤ number의 길이 ≤ 100,000 - number의 원소는 숫자로만 이루어져 있습니다. - number는 정수 0이 아니라면 숫자 '0'으로 시작하지 않습니다. 풀이 import java.util.stream.*; class Solution { public int solution(String number) { /* int answer = 0; String[] str = number.sp.. [프로그래머스(Java)] 문자열 정렬하기 (2) / String.toCharArray() Level. 0 문제 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. * 제한사항 - 0 < my_string 길이 < 100 풀이 import java.util.*; class Solution { public String solution(String my_string) { /* String answer = ""; my_string = my_string.toLowerCase(); String[] arr = my_string.split(""); Arrays.sort(arr); for(int i=0; i [프로그래머스(Java)] 날짜 비교하기 / LocalDate , LocalTime , LocalDateTime Level. 0 문제 정수 배열 date1과 date2가 주어집니다. 두 배열은 각각 날짜를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다. 만약 date1이 date2보다 앞서는 날짜라면 1을, 아니면 0을 return 하는 solution 함수를 완성해 주세요. * 제한사항 - date1의 길이 = date2의 길이 = 3 - 0 ≤ year ≤ 10,000 - 1 ≤ month ≤ 12 - day는 month에 따라 가능한 날짜로 주어집니다. 풀이 1. import java.time.LocalDate; class Solution { public int solution(int[] date1, int[] dat.. [프로그래머스] 쿼드압축 후 개수 세기 / 쿼드트리, 재귀 Level. 2 문제 0과 1로 이루어진 2^n x 2^n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다. arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해주세요. * 제한.. [프로그래머스] 호텔 대실 / priority_queue Level. 2 문제 호텔을 운영 중인 코니는 최소한의 객실만을 사용하여 예약 손님들을 받으려고 합니다. 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다음 손님들이 사용할 수 있습니다. 예약 시각이 문자열 형태로 담긴 2차원 배열 book_time이 매개변수로 주어질 때, 코니에게 필요한 최소 객실의 수를 return 하는 solution 함수를 완성해주세요. * 제한사항 - 1 ≤ book_time의 길이 ≤ 1,000 - book_time[i]는 ["HH:MM", "HH:MM"]의 형태로 이루어진 배열입니다 [대실 시작 시각, 대실 종료 시각] 형태입니다. - 시각은 HH:MM 형태로 24시간 표기법을 따르며, "00:00" 부터 "23:59" 까지로 주어집니다. 예약 시각이 자정.. 이전 1 ··· 18 19 20 21 22 23 24 ··· 51 다음