목록2020/07 (17)
개발의 흔적
안녕하세요. 프로그래머스에 있는 "시저 암호" 알고리즘 문제를 풀어보겠습니다. 문제 : 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 출력 : AB 1 BC z 1 a a B z 4 e F d 코드 : * 문제 해설 * 문자열 : AB , z 시저암호는 오른쪽으로 n만큼 이동을 한 결과값이 나와야합니다. 가장 첫번째는 대소문자를 비교하기 위해서는 char로 String값을 잘라서 char[] 배열안에 넣어야합니다. toChartArra..
안녕하세요. 프로그래머스에 있는 "약수의 합" 알고리즘 문제를 풀어보겠습니다. 문제 : 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 출력 : 12 28 5 6 코드 : * 문제 해설 * 정수 : 12 정수의 약수를 구합니다. 정수의 약수는 0으로 떨어지는 값들을 모두더합니다. * 코드 해설 * for문의 바깥쪽 길이만큼 반복을합니다. 그 후 길이만큼 반복을 한후 0으로 떨어지는 값중 몫의 값이 정수의 약수들이기 때문에 값들을 더하면 정수의 약수들이 나옵니다. 좋은 코드있으면 공유 바랍니다. 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
안녕하세요. 프로그래머스에 있는 "정수 내림차순으로 배치하기" 알고리즘 문제를 풀어보겠습니다. 문제 : 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 출력 : 118372 873211 코드 : * 문제 해설 * 정수 : 118372 Long타입의 정수의 길이를 구해야합니다. 그후 "버블정렬"를 이용하여 가장 작은값이 인덱스의 맨마지막쪽으로 들어갑니다. 버블 정렬 : 정렬 기법중 하나로 맨앞 0번쨰 인덱스와 1번째 인덱스를 비교하여 가장 큰값 또는 가장 작은값을 오른쪽으로 치환하는 기법입니다. 물론 Arrays.sort()를 써서 정렬을 구현할수있습니다. 하지..
안녕하세요. 프로그래머스에 있는 "자릿수 더하기" 알고리즘 문제를 풀어보겠습니다. 문제 : 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 출력 : 123 6 987 24 코드 : * 문제 해설 * 정수 : 123 정수의 값의 길이를 구합니다. 길이를 구한후 나머지값을 구한값을 더합니다. * 코드 해설 * 정수 123의 값의 길이를 구하기 위해 문자열로 변환 후 잘라서 배열로 저장합니다. 10으로 나눈 나머지값을 answer에 담고 값을 다 더한후 리턴합니다. 좋은 코드있으면 공유바랍니다. 출처: 프로그래머스 코딩 테스트 연습, https://programmers..