본문 바로가기
728x90
반응형

코딩테스트/프로그래머스66

[프로그래머스/java] Summer/Winter Coding(~2018) 소수 만들기 - 에라스토테네스의 체 사용 안녕하세요 이번 포스팅은 프로그래머스 레벨 1 문제 중 "찾아라 프로그래밍 마에스터Summer/Winter Coding(~2018)" 문제인 소수 만들기를 풀어보겠습니다. 문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.제한사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 입출력 예 nums result [1,2,3,4] 1 [1,2,7,6,4] 4.. 2021. 3. 26.
[프로그래머스/java] 폰켓몬 안녕하세요 이번 포스팅은 프로그래머스 레벨 1 문제 중 "찾아라 프로그래밍 마에스터" 문제인 폰켓몬을 풀어보겠습니다. 문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 .. 2021. 3. 26.
[프로그래머스/java] 방문 길이 안녕하세요. 이번 포스팅은 프로그래머스 Level 2 방문 길이에 대하여 풀어보겠습니다. programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr ※ 접근 방법 (1) 방향(dirs) 갯수를 기준으로 while 문을 반복합니다. (2) 좌표 범위를 넘어가면 최고, 최저 값을 대입해줍니다. (3) 경로 검사를 합니다 - 1) 이전 - 현재 경로가 왔던 곳인지 - 2) 이동을 시도한 지점이 같은 위치인지 - 3) 현재 - 이전 경로가 왔던 곳인지 문제 설명 게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다. U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가.. 2021. 3. 12.
[프로그래머스/java] 영어 끝말잇기 안녕하세요. 이번 포스팅은 프로그래머스 레벨 2 문제인 영어 끝말잇기를 풀어보겠습니다. programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr ※ 문제 접.. 2021. 3. 12.
[프로그래머스/java] 이진 변환 반복하기 이번 포스팅은 프로그래머스 Level 2 월간 코드 챌린지 문제인 이진 변환 반복하기 문제를 풀어보겠습니다. 이번 문제는 Level 2 치고 쉬웠습니다. 주어진 문자열에서 0을 제거하고, 0이 제거된 문자열의 길이를 구해서 그 길이를 다시 이진수화 하여 이 작업을 반복하고 최종적으로 문자열이 1이 되었을 때 총 반복 횟수와 제거된 0의 갯수를 구하는 것이었습니다. programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로.. 2021. 3. 12.
[프로그래머스/java] 피보나치 수 - 동적 프로그래밍 DP(Dynamic Programming - top- down, bottom-up) 이번 포스팅은 피보나치 수입니다. 혼자 피보나치 수를 풀어볼 때는 재귀 형식으로 문제를 풀었었습니다. public static void main(String[] args) { int answer = finbonachi(n); } public int fibonachi(n) { if(n == 0) return 0; else if(n == 1) return 1; else return fibonachi(n-1) + fibonachi(n-2); } 피보나치 수를 재귀적으로 호출하게 된다면 숫자가 크면 클수록 호출되는 양이 기하급수적으로 늘어나게 됩니다. 따라서 이번 문제를 풀 때는 동적 프로그래밍 기법을 알아야 합니다. 동적 프로그래밍이란? : 큰 문제를 한 번에 해결하기 힘들 때 작은 여러 개의 문제로 나누어서.. 2021. 3. 11.
728x90
반응형