level1
-
프로그래머스 연습문제 제일 작은 수 제거하기 자바 풀이 Level 1 제일 작은 수 제거하기 문제 정리 주어진 배열에서 가장 작은 수를 제거한 배열을 리턴하여라. 배열에 숫자가 하나밖에 없다면 -1을 담은 배열을 리턴하여라. 배열에 주어진 수는 모두 다르다 문제 풀이 배열을 오름차순이나 내림차순으로 정렬해서 제거하면 안됩니다. 주어진 원소 순서대로 출력해야 합니다. 가장 작은 수의 인덱스를 찾습니다. 그 인덱스의 수만 빼고 새로운 배열에 숫자를 모두 넣습니다. 그러면 원래 순서대로 들어가게 됩니다. 문제 풀이 class Solution { public static void main(String[] args){ int[] arr = {4,3,2,1}; int[] arr2 = {10}; // debug in..
[최소값 찾기] level1 프로그래머스 제일 작은 수 제거하기 자바 풀이프로그래머스 연습문제 제일 작은 수 제거하기 자바 풀이 Level 1 제일 작은 수 제거하기 문제 정리 주어진 배열에서 가장 작은 수를 제거한 배열을 리턴하여라. 배열에 숫자가 하나밖에 없다면 -1을 담은 배열을 리턴하여라. 배열에 주어진 수는 모두 다르다 문제 풀이 배열을 오름차순이나 내림차순으로 정렬해서 제거하면 안됩니다. 주어진 원소 순서대로 출력해야 합니다. 가장 작은 수의 인덱스를 찾습니다. 그 인덱스의 수만 빼고 새로운 배열에 숫자를 모두 넣습니다. 그러면 원래 순서대로 들어가게 됩니다. 문제 풀이 class Solution { public static void main(String[] args){ int[] arr = {4,3,2,1}; int[] arr2 = {10}; // debug in..
2020.04.22 -
프로그래머스 연습문제 정수 제곱근 판별 풀이 Level 1 정수 제곱근 판별 문제 정리 양의 정수 n이 주어질때 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 한다. n이 어떤 정수 x의 제곱이라면 (x+1)^2을 리턴 아니라면 -1을 리턴한다. 문제 풀이 주어진 수 n을 루트 취해본다. 취한 값이 floor한 값과의 차이가 없다면 n은 Math.sqrt(n)의 제곱이 된다. 예를들어 121이라면 루트를 했을때 11입니다. 이 경우 floor한 값은 그대로 11 입니다. 뒤의 소수점이 없기 때문입니다. 이 경우 (Math.sqrt(a)+1)^2을 구합니다. 만약 어떤 수의 제곱이 아니라면 루트를 취했을때 뒤에 소수점이 남기 때문에 floor한 값과 차이는 0이 아니게 됩니다. 프로그래머스 정수 제곱근 판..
[수학] level1 프로그래머스 정수 제곱근 판별 자바(java) 풀이프로그래머스 연습문제 정수 제곱근 판별 풀이 Level 1 정수 제곱근 판별 문제 정리 양의 정수 n이 주어질때 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 한다. n이 어떤 정수 x의 제곱이라면 (x+1)^2을 리턴 아니라면 -1을 리턴한다. 문제 풀이 주어진 수 n을 루트 취해본다. 취한 값이 floor한 값과의 차이가 없다면 n은 Math.sqrt(n)의 제곱이 된다. 예를들어 121이라면 루트를 했을때 11입니다. 이 경우 floor한 값은 그대로 11 입니다. 뒤의 소수점이 없기 때문입니다. 이 경우 (Math.sqrt(a)+1)^2을 구합니다. 만약 어떤 수의 제곱이 아니라면 루트를 취했을때 뒤에 소수점이 남기 때문에 floor한 값과 차이는 0이 아니게 됩니다. 프로그래머스 정수 제곱근 판..
2020.04.22 -
프로그래머스 연습문제 자릿수 더하기 자바, 파이썬 풀이 Level 1 자릿수 더하기 문제 정리 자연수 N이 주어지면 각 자릿수의 합을 구해서 return 하는 solution 함수를 작성해라 문제 풀이 10으로 계속 나눠가며 나머지를 더해준다. 주어진 수 n은 10을 나눈 몫으로 update해준다. n이 10보다 작아질때 까지 반복한다 while문이 탈출하면 10보다 작아진 n을 ans에 마지막으로 더해준다. 예를 들어 123이 있다. 123을 10으로 나눈 나머지는 3이다 // 합 3 123을 10으로 나눈 몫은 12이다. // n=12 12를 10으로 나눈 나머지는 2이다 // 합 3+2 = 5 12를 10으로 나눈 몫은 1이다. // n=1 n이 10보다 작아졌으므로 탈출 마지막 n을 더해 준다 /..
[수학] level1 프로그래머스 자릿수 더하기 자바, 파이썬 풀이프로그래머스 연습문제 자릿수 더하기 자바, 파이썬 풀이 Level 1 자릿수 더하기 문제 정리 자연수 N이 주어지면 각 자릿수의 합을 구해서 return 하는 solution 함수를 작성해라 문제 풀이 10으로 계속 나눠가며 나머지를 더해준다. 주어진 수 n은 10을 나눈 몫으로 update해준다. n이 10보다 작아질때 까지 반복한다 while문이 탈출하면 10보다 작아진 n을 ans에 마지막으로 더해준다. 예를 들어 123이 있다. 123을 10으로 나눈 나머지는 3이다 // 합 3 123을 10으로 나눈 몫은 12이다. // n=12 12를 10으로 나눈 나머지는 2이다 // 합 3+2 = 5 12를 10으로 나눈 몫은 1이다. // n=1 n이 10보다 작아졌으므로 탈출 마지막 n을 더해 준다 /..
2020.04.21 -
프로그래머스 연습문제 약수의 합 풀이 Level 1 약수의 합 문제 정리 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해라 문제 풀이 말 그대로 약수를 모두 구해서 구한 약수를 모두 더해주면 됩니다. n이하의 수로 모두 나누어 보며 나누어 떨어지는 수를 모두 더합니다. 예를 들어 5는 1,2,3,4,5로 모두 나누어 봅니다. 이중에서 나누어 떨어지는 수는 1과 5이므로 답은 6이 됩니다. 약수의 합 Java 코드 public static int solution(int n) { int answer = 0; for(int i=1; i
[수학, for문] Level1 프로그래머스 연습문제 약수의 합 자바, 파이썬 풀이프로그래머스 연습문제 약수의 합 풀이 Level 1 약수의 합 문제 정리 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해라 문제 풀이 말 그대로 약수를 모두 구해서 구한 약수를 모두 더해주면 됩니다. n이하의 수로 모두 나누어 보며 나누어 떨어지는 수를 모두 더합니다. 예를 들어 5는 1,2,3,4,5로 모두 나누어 봅니다. 이중에서 나누어 떨어지는 수는 1과 5이므로 답은 6이 됩니다. 약수의 합 Java 코드 public static int solution(int n) { int answer = 0; for(int i=1; i
2020.04.20 -
프로그래머스 시저암호 풀이 Level 1 시저암호 문제 정리 알파벳이 주어졌을때 n만큼 미룬 문자열을 반환하여라 예를들어 a가 주어졌을때 1만큼 밀면 b가 된다. 공백은 밀어도 그대로 공백이다 z에서 1만큼 밀면 a가 된다. 문제 풀이 이 문제는 아스키 코드 값을 이용하여 풀 수 있습니다. 알파벳 개수: 26개 소문자: 97122 대문자: 6590 문자를 하나하나씩 직접 n만큼 밉니다. 만약 i번째 문자가 공백인 경우 무시합니다. 대문자와 소문자의 경우를 나누어서 풉니다. 대문자의 경우 아스키 코드 값이 65~90 입니다. n만큼 밀고 90을 넘었다면 26만큼 감소시켜 줍니다. 26은 a-z의 개수입니다. 소문자의 경우도 마찬가지로 똑같이 해줍니다. 프로그래머스 시저 암호 자바 코드 주석 달아두었습니다!..
[문자열, 아스키코드] Level1 프로그래머스 시저암호 자바(java) 풀이프로그래머스 시저암호 풀이 Level 1 시저암호 문제 정리 알파벳이 주어졌을때 n만큼 미룬 문자열을 반환하여라 예를들어 a가 주어졌을때 1만큼 밀면 b가 된다. 공백은 밀어도 그대로 공백이다 z에서 1만큼 밀면 a가 된다. 문제 풀이 이 문제는 아스키 코드 값을 이용하여 풀 수 있습니다. 알파벳 개수: 26개 소문자: 97122 대문자: 6590 문자를 하나하나씩 직접 n만큼 밉니다. 만약 i번째 문자가 공백인 경우 무시합니다. 대문자와 소문자의 경우를 나누어서 풉니다. 대문자의 경우 아스키 코드 값이 65~90 입니다. n만큼 밀고 90을 넘었다면 26만큼 감소시켜 줍니다. 26은 a-z의 개수입니다. 소문자의 경우도 마찬가지로 똑같이 해줍니다. 프로그래머스 시저 암호 자바 코드 주석 달아두었습니다!..
2020.04.20 -
프로그래머스 문자열 내 p와 y의 개수 풀이 Level 1 문자열 내 p와 y의 개수 문제 정리 대문자와 소문자가 섞여있는 문자열 s가 주어진다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 true / 다르면 false를 return한다. p와 y모두 하나도 없는 경우에는 true를 리턴한다. 대문자와 소문자는 구분하지 않는다. s의 길이는 50이하이다. 문제 풀이 문자열의 길이가 최대 50이므로 모두 탐색하면 된다. 대소문자를 구분하지 않기 위해 주어진 문자열을 소문자로 바꾼다 문자열을 캐릭터 배열로 변환한다. (하지 않고 substring으로 해도 됨) 그리고 문자를 하나씩 검사하며 p라면 p의 개수 count, y라면 y의 개수 count 마지막에 p와 y의 개..
[문자열] 프로그래머스 문자열 내 p와 y의 개수 c++, java 풀이프로그래머스 문자열 내 p와 y의 개수 풀이 Level 1 문자열 내 p와 y의 개수 문제 정리 대문자와 소문자가 섞여있는 문자열 s가 주어진다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 true / 다르면 false를 return한다. p와 y모두 하나도 없는 경우에는 true를 리턴한다. 대문자와 소문자는 구분하지 않는다. s의 길이는 50이하이다. 문제 풀이 문자열의 길이가 최대 50이므로 모두 탐색하면 된다. 대소문자를 구분하지 않기 위해 주어진 문자열을 소문자로 바꾼다 문자열을 캐릭터 배열로 변환한다. (하지 않고 substring으로 해도 됨) 그리고 문자를 하나씩 검사하며 p라면 p의 개수 count, y라면 y의 개수 count 마지막에 p와 y의 개..
2020.04.16