본문 바로가기

전체 글

(67)
프로그래머스 Lv1 하샤드 수 기존 풀이 class Solution { public boolean solution(int x) { boolean answer = true; String typeStr = String.valueOf(x); String[] strArr = typeStr.split(""); int share = 0; //파라미터를 나눈 arr의 각 객체를 다른 객체에 넣어줘야함 for (int i = 0 ; i < strArr.length ; i++){ share += Integer.parseInt(strArr[i]); } if(x % share == 0){ answer = true; }else{ answer = false; } return answer; } } 뜯어보기 public class Solution{ privat..
프로그래머스 Lv1 콜라츠 추측 class Solution { public int solution(int num) { long numL = (long)num; int count = 0; while(1 < numL) { numL = numL % 2 == 0 ? numL / 2 : (numL * 3) + 1; count++; System.out.println(count); if (500
프로그래머스 Lv1 제일 작은 수 제거하기 import java.util.*; import java.util.stream.Collectors; class Solution { public int[] solution(int[] arr) { List list = Arrays.stream(arr).boxed().collect(Collectors.toList()); Arrays.sort(arr); list.remove(list.indexOf(arr[0])); if (list.size() i).toArray(); } } - List list = Arrays.stream(arr).boxed().collect(Collectors.toList()); - 이전 문제에서 정리했기에 이제는 알아볼 수 있다. 파라미터로 받은 arr을 ArrayList로 변환 후 lis..
프로그래머스 Lv1 정수 제곱근 판별 class Solution { public long solution(long n) { long answer = 0; double doubleN = Math.sqrt(n); //입력받은 n을 long으로 형변환 Math.dqrt()함수를 통해 제곱근을 구해줌 if (doubleN % 1 == 0) { //제곱근을 1로나눈 값이 0일 때 : 1로 나눠떨어지므로 소수점 값이 없다. (양의 정수의 제곱이다.) answer = (long)doubleN; // answer에 doubleN을 할당. answer = answer +1; //answer +1해준 후 answer = answer * answer; //answer * answer }else { //else일 때 -1을 할당. answer = -1 ; } r..
프로그래머스 Lv1 정수 내림차순으로 배치하기 class Solution { public long solution(long n) { long answer = 0; String getPara = String.valueOf(n); //getPara객체에 n을 StringType으로 변환한 후 할당 String[] strArr = new String[getPara.length()]; //getPara.length 만큼의 배열생성 strArr = getPara.split(""); //strArr에 getPara를 한글자씩 쪼게서 할당 int[] intArr = new int[strArr.length]; //intType의 배열생성 for (int i = 0 ; i < intArr.length ; i++){ //크기 비교를 위해 intArr에 intType으..
프로그래머스 Lv1 자연수 뒤집어 배열로 만들기 import java.util.stream.IntStream; class Solution { public int[] solution(long n) { return new StringBuilder().append(n).reverse().chars().map(Character::getNumericValue).toArray(); } } - StringBuilder().append(n).reverse()- StringBuilder class생성 long type n을 append한다. StringBuilder().append(long , int)가 가능하다. .reverse를 사용하여 좌우를 반전 -.chars() .map(Character::getNumericValue).toArray(); - chars() ..
프로그래머스 Lv1 자릿수 더하기 public class Solution { public int solution(int n) { int answer = 0; // String으로 형변환 , 변환한 String을 나눠 배열에 담아줌 String str = String.valueOf(n); // int파라미터를 String으로 변환 String[] strarr = str.split("");// 파라미터를 한글자씩 String 배열에 저장 int [] intarr = new int [strarr.length];//int type 의 빈배열 생성 for(intarr : strarr){ intarr[i] = Integer.parseInt(strarr[i]);//String 배열의 파라미터를 하나씩 int로 형변환하며 int배열에 할당 } for(..
프로그래머스Lv1 이상한 문자 만들기 class Solution { public String solution(String s) { String answer = ""; char[] charsArr = s.toCharArray(); int index = 0; for (int i = 0 ; i < charsArr.length ; i++){ if (charsArr[i] == ' '){ index = 0; } else { charsArr[i] = (index++ % 2 == 0 ? Character.toUpperCase(charsArr[i]) : Character.toLowerCase(charsArr[i])); } } return String.valueOf(charsArr); } } char[] charsArr = s.toCharArray(); - ..