본문 바로가기

CS/알고리즘 풀이

[프로그래머스] 콜라츠 추측 ( java ) [프로그래머스] 콜라츠 추측 ( 자바 ) 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 | 프로그래머스 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 programmers... 더보기
[프로그래머스] 최대공약수와 최소공배수 ( java ) [프로그래머스] 최대공약수와 최소공배수 ( 자바 ) 최대, 최소 공약수 구하기 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 | 프로그래머스 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 사항 두 수는 1이상 1000000이하의 자연수입니다. 입출력 예 n m return 3 12 [3, 12] 2 5 [.. 더보기
[ 프로그래머스 ] 찾아라 프로그래밍 마에스터- 포켓몬 ( java ) [ 프로그래머스 ] 찾아라 프로그래밍 마에스터- 포켓몬 ( 자바 ) N마리의 포켓몬에서 N/2 마리를 선택한다. 포켓몬마다 종류에 따른 번호가 부여되어 있는데, N/2마리르 선택했을 때, 가능한 가장 많은 종류 개수 구하기 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 | 프로그래머스 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 .. 더보기
[ 프로그래머스 ] 정수 내림차순으로 배치하기 ( java ) [ 프로그래머스 ] 정수 내림차순으로 배치하기 ( 자바 ) n이 118372면 873211을 리턴하기 n은 8000000000이하 숫자 https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 | 프로그래머스 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8000000000 이하인 자연수입니다. 입출력 예 n return 118372 873211 programmers.co.kr 구조 1 int타입 배열 생성, 크기는 Math.log10사용 %, .. 더보기
[ 프로그래머스 ] 문자열을 정수로 바꾸기 ( java ) [ 프로그래머스 ] 문자열을 정수로 바꾸기 ( 자바 ) 문자열 123, -123, +123 과 같은 문자열을 정수로 바꾸기 https://programmers.co.kr/learn/courses/30/lessons/12925 코딩테스트 연습 - 문자열을 정수로 바꾸기 | 프로그래머스 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 0으로 시작하지 않습니다. 입출력 예 예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 .. 더보기
[ 프로그래머스 ] 시저암호 ( java ) [ 프로그래머스 ] 시저암호 ( 자바 ) 문자열 s의 알파벳을 n만큼 밀자 https://programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 | 프로그래머스 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 조건 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. programmers.co.kr.. 더보기
[ 프로그래머스 ] 자연수 뒤집어 배열로 만들기 ( java ) [ 프로그래머스 ] 자연수 뒤집어 배열로 만들기 ( 자바 ) 주어진 long 타입 수를 뒤집은 것을 배열로 리턴 https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 | 프로그래머스 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] programmers.co.kr 핵심 리턴할 배열을 만드는데 두 가지 방법 가능함 문자열( Long.toString(n) 사용 로그 (Math.log10(n)+1 ) 씌어.. 더보기
[ 프로그래머스- 2018 카카오 공채 ] 비밀지도 (java) [ 프로그래머스 2018 카카오 공채 ] 비밀지도 (자바) 두 지도를 or 연산하고 다시 원래의 지도 만들기 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 | 프로그래머스 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 공백(" ) 또는벽(#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 지도 1과 지도 2라고 하자... 더보기