본문 바로가기

programmers49

Day87_Programmers Lv.1 하샤드 수 Java 프로그래머스 Lv.1 '하샤드 수' 자바 Q. 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나눠져야 한다. 예를 들어 18의 자릿수 합은 1 + 8 = 9 이고, 18은 9로 나눠 떨어지므로 18은 하샤드 수이다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수 solution을 완성하시오. class Solution { public boolean solution(int x) { boolean answer = true; int sum = 0; String[] num = Integer.toString(x).split(""); for (int i = 0; i < num.length; i++) { sum += Integer.parseInt(num[i]); } if (x % sum .. 2023. 12. 25.
Day86_Programmers Lv.1 '정수 내림차순으로 배치하기' Java 프로그래머스 Lv.1 '정수 내림차순으로 배치하기' 자바 Q. 함수 solution은 정수 n을 매개변수로 입력받는다. n의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴하시오. 예를 들어 n이 118372면 873211을 리턴하면 된다. import java.util.Arrays; class Solution { public long solution(long n) { long answer = 0; String str = Long.toString(n); char[] arr = str.toCharArray(); Arrays.sort(arr); String newStr = new String(); for (int i = arr.length - 1; i >= 0; i--) { newStr += .. 2023. 12. 19.
Day85_Programmers Lv.1 '정수 제곱근 판별' Java 프로그래머스 Lv.1 '정수 제곱근 판별' 자바 Q. 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 한다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하시오. class Solution { public long solution(long n) { Double x = Math.sqrt(n); if (x == x.intValue()) { return (long) Math.pow(x + 1, 2); } else { return -1; } } } Math.sqrt()는 제곱근(루트)을 계산하는 메서드로, n의 제곱근을 구해 x에 넣는다. intValue()는 해당 숫자 타입을 int로 변환하는 메서.. 2023. 12. 19.
Day84_Programmers Lv.1 자릿수 더하기 Java 프로그래머스 Lv.1 '자릿수 더하기' 자바 Q. 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return하는 solution함수를 만드시오. 예를 들어 N = 123 이면 1 + 2 + 3 = 6 을 return하면 됩니다. import java.util.*; public class Solution { public int solution(int n) { int answer = 0; String s = Integer.toString(n); for (int i = 0; i < s.length(); i++) { answer += Integer.parseInt(s.substring(i, i + 1)); } return answer; } } Integer 클래스는 정수를 문자열로 변환하거나 문자열을 정.. 2023. 12. 18.
Day83_Programmers Lv.1 자연수 뒤집어 배열로 만들기 Java 프로그래머스 Lv.1 '자연수 뒤집어 배열로 만들기' 자바 Q. 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴하시오. 예를 들어 ndl 12345이면 [5,4,3,2,1]을 리턴합니다. class Solution { public int[] solution(long n) { String arrStr = Long.toString(n); int[] answer = new int[arrStr.length()]; for (int i = arrStr.length() - 1; i >= 0; i--) { answer[arrStr.length() - 1 - i] = arrStr.charAt(i) - '0'; } return answer; } } 임의의 수 n을 문자열로 변환시켜주고 반환변수 answ.. 2023. 12. 18.
Day82_Programmers Lv.1 문자열 내 p와 y의 개수 Java 프로그래머스 Lv.1 문자열 내 p와 y의 개수 자바 Q. 대문자와 소문자가 섞여있는 문자열 s가 주어진다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return하는 solution을 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 계수를 비교할 때 대문자와 소문자는 구별하지 않습니다. class Solution { boolean solution(String s) { boolean answer = true; int p = 0; int y = 0; s = s.toLowerCase(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (c == 'p') { p++.. 2023. 12. 15.