본문 바로가기

programmers12

[프로그래머스/Java] LV.1 자연수 뒤집어 배열로 만들기 간단할 줄 알았는데 의외로 고전했던 문제.. 내 코드 class Solution { public int[] solution(long n) { int leng = Long.toString(n).length(); int[] answer = new int[leng]; int cnt = 0; while(n > 0){ answer[cnt] = (int) (n % 10); n /= 10; cnt++; } return answer; } } 나의 경우 long 타입의 자연수 n을 String 문자열로 바꿔준 후 길이를 구해 int[] 배열을 생성해주었다 저번 '자릿수 구하기' 문제에서 사용했던 자연수를 한자리씩 끊어주는 방법을 생각해냈다 ~나머지는 저장하고 몫을 남기는 식으로 한자리 수 가져오는 방법~ 참고 [프로그래.. 2022. 9. 19.
[프로그래머스/Java] LV.1 평균 구하기 배열의 평균을 구하는 간단한 문제였다. 내 코드 class Solution { public double solution(int[] arr) { double answer = 0; for(int num : arr){ answer += num; } answer = answer / arr.length; return answer; } } 배열 arr를 for문으로 돌려 간단하게 해결했다. 다른사람 코드 import java.util.Arrays; class Solution { public double solution(int[] arr) { return (double) Arrays.stream(arr).average().orElse(0); } } 라이브러리를 통해 한줄로 해결! 짧은 코드라 좋아보이지만 댓글을 보니.. 2022. 9. 16.
[프로그래머스/Java] LV.1 정수 제곱근 판별 내 코드 class Solution { public long solution(long n) { long num = (long) Math.sqrt(n); if(n == num*num){ return (num+1)*(num+1); } else { return -1; } } } 이 문제의 핵심은 sqrt() 함수였다 루트의 역할을 하는 함수로 25를 넣으면 5가 나온다 pow() double result = Math.pow(2, 4); System.out.println(result); //16.0 int resultInt = (int) Math.pow(2.5, 3); System.out.println(resultInt); //15 pow() 함수는 제곱근으로 곱하는 함수로 Math.pow(2, 4) 은 2의 .. 2022. 9. 14.
[프로그래머스/Java] LV.1 자릿수 더하기 역시 간단한 문제다~ 나같은 경우에는 int를 string으로 옮기고 string에서 char[] 문자배열로 옮기자! 라는 생각을 먼저 했다 내 코드 import java.util.*; public class Solution { public int solution(int n) { int answer = 0; //int to string String str = Integer.toString(n); //string to char[] char[] arr = str.toCharArray(); for(int i=0; i 2022. 9. 13.